设计模式
可爱的小小小狼
精读各种经典书籍,喜欢总结读书笔记。
展开
-
单例模式java
可能一个线程new,另一个线程此时因为重排序,指针不为null但是空间没有初始化。a=new A();这条语句,他需要:开辟空间,初始化空间,指针指向空间,。所以给a加volatile,保证不会重排序。原创 2024-07-13 20:43:20 · 323 阅读 · 0 评论 -
装饰器模式
代理模式(将真正执行的对象作为成员变量),是基础的组合复用的思想,装饰器模式也是基于此的。装饰器模式动态地给一个类增加了一些功能或者重写了方法。原创 2024-06-29 22:17:35 · 211 阅读 · 0 评论 -
设计模式-代理模式
就是将被代理的类作为成员变量。为其他对象提供一个代理类去使用被代理的类。原创 2024-06-28 00:40:58 · 444 阅读 · 0 评论 -
策略模式和状态模式
策略模式原创 2024-06-27 22:10:25 · 467 阅读 · 1 评论 -
工厂方法模式和抽象工厂
成员包含:(1)产品接口,工厂接口(2)产品实现类,工厂实现类。原创 2024-06-12 14:52:21 · 317 阅读 · 0 评论 -
静态工厂方法替代构造器
单例模式,多例模式,池化模式下,使用静态工厂方法,有一定优势:(静态工厂方法的最重要的优点)在类的内部讲构造器私有化,创建一个static的构造方法,就是静态工厂方法替代构造器。最简单的一个静态工厂方法替代构造器示例:(好处就是创造时更清晰)原创 2024-06-12 12:02:40 · 191 阅读 · 0 评论 -
接口和抽象类
接口只可以包含public abstract的方法和static的方法,和public static final的成员变量。抽象类用于创建类层次结构,提供通用行为和状态。抽象类可以包含任意的方法和成员变量。接口用于定义方法契约和行为规范。原创 2024-06-12 11:44:26 · 96 阅读 · 0 评论 -
负载均衡——一致性哈希算法
使用:hash(key)%容器,如果加入或者删除节点,会将所有key对应的服务器重新排序。一致性哈希算法使用TreeMap来实现,当由节点加入或者删除时,只会影响一小部分。原创 2024-05-17 17:14:26 · 462 阅读 · 0 评论 -
Builder建造者模式
构造方法中只设置必须参数(可以设置为final),在构造后再set可选初始化数据,每一个set返回一个Builder(this),从而可以依次连续build。Builder的作用就是:默认属性代替设置属性,清晰代码意图。通过默认值和new的参数,将必须参数和可选参数分离。将构造过程和属性配置分离。原创 2024-05-14 22:07:37 · 274 阅读 · 0 评论 -
Context Pattern上下文模式
使用ThreadLocal。原创 2024-05-14 22:07:01 · 283 阅读 · 0 评论 -
静态工厂模式
工厂模式和池化的关系:共享单车和共享单车工厂的关系,共享单车是用工厂生产的bicycle放在一个共享的池子里,然后当用户使用共享单车池时从池子里取出单车。jdbc的获得连接的操作也是静态工厂类,将实现交给了具体的数据库,解耦。原创 2024-05-09 11:24:16 · 245 阅读 · 0 评论 -
发布订阅模式:观察者模式的一种变体
发布-订阅模型(Publish-Subscribe Model)的底层机制通常基于观察者模式。原创 2024-02-22 19:47:32 · 646 阅读 · 0 评论 -
观察者模式
观察者模式的核心思想就是一个主题状态改变时,会通知所有注册的观察者。主题维护一个观察者列表,当主题的状态发生变化时,会遍历观察者列表并调用每个观察者的更新方法,以便观察者能够获取最新的状态信息并执行相应的操作。原创 2024-02-22 19:15:37 · 863 阅读 · 0 评论 -
Factory Method
定义一个创建对象的接口,由子类决定实例化哪一个类,工厂方法将类的实例化推迟到子类实现。当需要使用接口方法时候,通过创建不同的子类从而实现创建不同的对象。多个子类都实现各自的重写的接口的方法。原创 2024-02-18 10:39:38 · 273 阅读 · 0 评论 -
建造者模式
建造者模式可以在类中设置一个建造静态类,通过建造类的build方法构造类。当一个类有一些可选属性和必选属性,构造复杂时候,可以使用建造者模式。原创 2024-02-18 10:24:43 · 103 阅读 · 0 评论 -
设计模式——适配器模式
适配器模式(Adapter Pattern)是一种结构设计模式。原创 2024-02-14 19:56:46 · 1329 阅读 · 0 评论