
设计模式
文章平均质量分 86
可以睡到中午吗
这个作者很懒,什么都没留下…
展开
-
装饰器模式
装饰器模式(Decorator Pattern)属于结构型模式。允许向一个现有的对象添加新的功能,同时又不改变其结构,作为现有的类的一个包装。装饰器模式创建了一个装饰器类,通过将对象包装在装饰器类中,以便动态地修改其行为。一般的,我们为了扩展一个类经常使用继承方式实现。由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。所以,在不想增加很多子类的情况下扩展类,可以采用装饰器模式,它能动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活,可代替继承。原创 2023-08-17 22:49:21 · 193 阅读 · 0 评论 -
java组合模式
组合模式(Composite Pattern),又叫部分整体模式,属于结构型模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。它创建了一个包含自己对象列表的类,提供了修改对象组的方式。将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。通过树枝和叶子实现统一接口,树枝内部组合该接口的方式实现。原创 2023-08-11 20:40:58 · 116 阅读 · 1 评论 -
过滤器模式
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)属于结构型模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来,它结合多个标准来获得单一标准。原创 2023-08-10 22:40:39 · 113 阅读 · 1 评论 -
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。抽象工厂模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定具体实现类。通过使用抽象工厂模式,可以将客户端与具体产品的创建过程解耦,使得客户端可以通过工厂接口来创建一族产品。原创 2023-08-06 18:14:42 · 214 阅读 · 1 评论 -
java单例模式
一般情况下,不建议使用第 1 种和第 2 种懒汉方式,建议使用第 3 种饿汉方式。只有在要明确实现 lazy loading 效果时,才会使用第 5 种登记方式。如果涉及到反序列化创建对象时,可以尝试使用第 6 种枚举方式。如果有其他特殊的需求,可以考虑使用第 4 种双检锁方式。原创 2023-08-06 17:44:53 · 336 阅读 · 1 评论 -
工厂方法模式
工厂模式属于创建型设计模式,它提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式,可以将对象的创建与使用代码分离,提供一种统一的接口来创建不同类型的对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。主要解决接口选择的问题。原创 2023-08-03 22:02:12 · 82 阅读 · 0 评论 -
观察者模式
观察者模式又称为发布-订阅模式,定义了对象之间一对多依赖关系,当目标对象(被观察者)的状态发生改变时,它的所有依赖者(观察者)都会收到通知。观察者模式属于行为型模式。原创 2023-08-02 22:22:04 · 69 阅读 · 0 评论