设计模式
文章平均质量分 81
JellyfishMIX
qunar -- java 开发
展开
-
设计模式 -- 观察者模式
观察者模式也被称为发布订阅模式。在 GoF 的《设计模式》一书中,它的定义是这样的:中文翻译: 在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。从模型来讲,被依赖的对象叫作被观察者(Observable),依赖的对象叫作观察者(Observer)。原创 2023-11-10 02:47:05 · 714 阅读 · 0 评论 -
设计模式--reactor 模式
reactor 模式通常应用于网络 IO 场景,高性能的中间件 redis, netty 都在使用。原创 2022-12-26 16:24:24 · 729 阅读 · 2 评论 -
设计模式--builder 模式
拥有一个负责组装的方法 void construct(Builder builder),在这个方法中通过组织并调用 builder 的方法,可以设置 builder。设置完成后,通过 builder 的构建方法 getProduct() 获得最终的产品。定义了构建 Product 的构建用抽象方法,其 Builder 实现类需要实现这些构建用方法。ConcreteBuilder: Builder 的实现类,实现 Builder 的抽象方法,编写此种 Builder 实现的方法。原创 2022-10-28 22:42:41 · 890 阅读 · 0 评论 -
适配器模式
适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。自己的理解,使用一个类 A 去实现接口 B,这样可以做到让类 A 兼容接口 B。原创 2022-10-28 22:40:33 · 126 阅读 · 0 评论 -
单例模式
优点提供了对唯一实例的受控访问。由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。允许可变数目的实例。缺点由于单例模式中没有抽象层,因此单例类的扩展有很大的困难。单例类的职责过重,在一定程度上违背了“单一职责原则”。滥用单例将带来一些负面问题,如为了节省资源将数据库连接池对象设计为的单例类,可能会导致共享连接池对象的程序过多而出现连接池溢出;如果实例化的对象长时间不被利用,系统会认为是垃圾而被回收,这将导致对象状态的丢失原创 2020-08-31 21:36:44 · 187 阅读 · 0 评论