这是一篇关于 Java 设计模式的短文。不会有模式的实现,只有java中存在的模式列表及其简要内容。对于那些已经熟悉该主题的人来说,这将有助于重复和概括。或者,相反,对于那些第一次接触模式的人来说 - 在深入挖掘之前首先概述该主题。 设计模式(设计模板)是针对经常遇到的编程问题的现成解决方案。这不是一个可以连接到项目的类或库,它是更多的东西。适合该任务的设计模式在每个特定情况下实施。应该记住,这种模式如果应用不正确或应用于错误的问题,可能会导致很多问题。然而,正确应用的模式将有助于轻松简单地解决问题。 图案类型:
- 生成
- 结构性的
- 行为的
- Singleton - 限制类的一个实例的创建并提供对其唯一对象的访问。
- 工厂- 当我们有一个具有多个子类的超类并且根据输入,我们需要从子类返回一个时使用。
- 抽象工厂——使用超级工厂创建工厂,然后使用创建的工厂创建对象。
- Builder - 用于使用简单对象创建复杂对象。逐渐地,它从一个小而简单的对象创建一个更大的对象。
- 原型- 有助于创建具有更好性能的重复对象,而不是创建新对象,而是创建现有对象的返回克隆。
- 适配器是两个不兼容对象之间的转换器。使用适配器模式,我们可以组合两个不兼容的接口。
- 复合- 使用单个类来表示树结构。
- 代理- 代表另一个类的功能。
- Flyweight - 对象被重用,而不是创建大量相似的对象。
- Facade——为客户端提供简单的界面,客户端通过该界面与系统进行交互。
- 桥接- 使具体类独立于接口实现类。
- 装饰器- 向现有对象添加新功能,而不改变其结构。
- 模板方法- 定义算法的基础,并允许后继者重新定义算法的某些步骤,而不改变其整体结构。
- Mediator - 提供一个中介类来处理不同类之间的所有通信。
- 责任链- 允许您避免请求发送者对其接收者的严格依赖,同时请求可以由多个对象处理。
- 观察者- 允许某些对象监视其他对象中发生的事件并对其做出反应。
- 策略- 策略算法可以在程序执行期间更改。
- 命令- 命令接口声明执行特定操作的方法。
- 状态- 对象可以根据其状态改变其行为。
- 访问者- 用于简化对相关对象分组的操作。
- 解释器- 为问题域定义简单的语言语法。
- 迭代器- 在不知道其底层表示的情况下顺序访问集合对象的元素。
- Memento(Keeper)——用来存储一个对象的状态,这个状态可以在以后恢复。
GO TO FULL VERSION