小谈设计模式(30)—Java设计模式总结
- 专栏介绍
- 专栏地址
- 专栏介绍
- 总括
- 三个主要类别
- a
- b
- c
- 创建型模式(Creational Patterns)
- 常见的创建型模式
- 单例模式(Singleton Pattern)
- 工厂模式(Factory Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 建造者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
- 结构型模式(Structural Patterns)
- 常见的结构型模式
- 适配器模式(Adapter Pattern)
- 桥接模式(Bridge Pattern)
- 组合模式(Composite Pattern)
- 装饰者模式(Decorator Pattern)
- 外观模式(Facade Pattern)
- 享元模式(Flyweight Pattern)
- 行为型模式(Behavioral Patterns)
- 常见的行为型模式
- 观察者模式(Observer Pattern)
- 策略模式(Strategy Pattern)
- 模板方法模式(Template Method Pattern)
- 迭代器模式(Iterator Pattern)
- 命令模式(Command Pattern)
- 职责链模式(Chain of Responsibility Pattern)
- 总结
专栏介绍
专栏地址
http://t.csdnimg.cn/VpriY
专栏介绍
主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位
总括
Java设计模式是一套被广泛应用于软件开发中的经典设计思想和解决方案。它们通过提供一种可重用的设计模式,帮助开发人员解决常见的设计问题,并提高代码的可读性、可复用性和可维护性。
三个主要类别
a
创建型模式(Creational Patterns)
b
结构型模式(Structural Patterns)
c
行为型模式(Behavioral Patterns)。
创建型模式(Creational Patterns)
关注对象的创建机制,包括如何实例化对象和组织对象的创建方式
常见的创建型模式
单例模式(Singleton Pattern)
确保一个类只有一个实例,并提供全局访问点。
工厂模式(Factory Pattern)
通过工厂类来创建对象,隐藏对象的创建逻辑。
抽象工厂模式(Abstract Factory Pattern)
提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。
建造者模式(Builder Pattern)
将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。
原型模式(Prototype Pattern)
通过复制现有对象来创建新对象,避免了使用构造函数创建对象的开销。
结构型模式(Structural Patterns)
关注对象之间的组合和关联关系,以及如何将对象组合成更大的结构
常见的结构型模式
适配器模式(Adapter Pattern)
将一个类的接口转换成客户端所期望的另一个接口。
桥接模式(Bridge Pattern)
将抽象部分与实现部分分离,使它们可以独立变化。
组合模式(Composite Pattern)
将对象组合成树形结构以表示部分-整体的层次结构。
装饰者模式(Decorator Pattern)
动态地将责任添加到对象上。
外观模式(Facade Pattern)
为子系统中的一组接口提供一个统一的接口。
享元模式(Flyweight Pattern)
通过共享对象来减少内存使用。
行为型模式(Behavioral Patterns)
关注对象之间的通信和协作方式,以及对象之间的责任分配
常见的行为型模式
观察者模式(Observer Pattern)
定义了对象之间的一对多依赖关系,当一个对象的状态发生变化时,其依赖者会收到通知并自动更新。
策略模式(Strategy Pattern)
定义了一系列算法,并将其封装成独立的类,使得它们可以互相替换。
模板方法模式(Template Method Pattern)
定义了一个算法的骨架,将一些步骤延迟到子类中实现。
迭代器模式(Iterator Pattern)
提供一种顺序访问聚合对象中各个元素的方法,而不需要暴露其内部表示。
命令模式(Command Pattern)
将请求封装成对象,以便可以用不同的请求来参数化其他对象。
职责链模式(Chain of Responsibility Pattern)
将请求的发送者和接收者解耦,使得多个对象都有机会处理请求。
总结
通过熟练掌握和应用这些设计模式,开发人员可以更加高效地解决常见的设计问题,并提供可靠和可扩展的软件解决方案。