设计模式
文章平均质量分 63
林志鹏JAVA
偶尔弹弹吉他
展开
-
策略模式介绍及其具体使用场景
文章目录前言一、策略模式介绍二、具体使用场景1、举例2、传统方式优化3、Map + 函数式编程 优化总结前言今天用策略模式优化了下之前的业务代码,重新温习了下设计模式的相关理念,在此记录一下一、策略模式介绍定义 :策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 (摘自<大话设计模式>)个人理解:策略模式简单理解,应该是对于同一个业务功能,在不同的场景需求下提供不同的实现逻辑,来达到动态切换业务算法,满足不同场景原创 2021-11-12 18:38:00 · 10707 阅读 · 12 评论 -
Java实现原型设计模式
一、介绍原型设计模式 是一种对象创建型模式,使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象用途:——主要用于创建重复的对象,同时又能保证性能它主要面对的问题是:“某些结构复杂的对象”的创建工作。由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口二、类图...原创 2021-02-24 10:27:59 · 171 阅读 · 0 评论 -
Java实现单例设计模式(指令重排+双重验证)
一、介绍单例模式,确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。特点:只能有一个实例必须自己创建自己的唯一实例必须给所有其他对象提供这一实例二、使用场景线程池缓存日志对象对话框打印机等等其他全局唯一的对象三、实现方式1、饿汉模式在该类加载的时候就去初始化这个类的实例。:优点:避免了线程安全问题缺点:如果在系统里不常使用,则浪费内存代码实现/** * 饿汉单例模式. * * @author linzp * @version原创 2021-02-23 12:06:57 · 308 阅读 · 1 评论 -
Java实现动态代理的设计模式
目录前言一、代理的三种实现方式二、几种代理实现方式的区别1.静态代理和动态代理的区别2.JDK 动态代理和 Cglib 动态代理的区别三、编写小案例来描述几种代理方式1、静态代理2、基于 JDK 的动态代理3、基于 Cglib 的动态代理总结前言代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。(百度抄的)。通俗来讲,代理就..原创 2020-10-08 01:08:10 · 239 阅读 · 2 评论