这是一篇关于 Java 设计模式的短文。不会有任何模式实现,只有 Java 模式列表以及每个模式的简短描述。对于那些已经熟悉该主题的人来说,这将有助于回顾和总结。相反,那些第一次学习模式的人会从中受益,因为在深入挖掘之前对这个主题有初步的了解。 设计模式是针对频繁出现的编程任务的即用型解决方案。它不是可以连接到项目的类或库。这是更多的东西。适用于每个任务的设计模式在每个特定案例中实现。您应该记住,当错误地应用或用于不合适的任务时,设计模式会产生很多问题。但是,正确应用模式可以帮助您轻松简单地完成任务。
图案种类:
- 创造的
- 结构的
- 行为的
创意:
-
单例——将类的创建限制为单个实例,并提供对该单个实例的访问。
-
工厂——当我们有一个包含多个子类的超类并且我们需要根据输入返回一个子类时使用。
-
抽象工厂——使用超级工厂来创建工厂,然后我们用它来创建对象。
-
Builder——用于使用简单对象创建复杂对象。它逐渐从一个小而简单的对象创建一个大对象。
-
原型——有助于在创建重复对象时提高性能;它不是创建新对象,而是创建并返回现有对象的克隆。
结构:
-
适配器——两个不兼容对象之间的转换器。我们可以使用适配器模式来组合两个不兼容的接口。
-
Composite——使用一个类来表示树结构。
-
代理——提供另一个类的功能。
-
享元——重用对象而不是创建大量相似的对象。
-
Facade——为客户端提供一个简单的界面,客户端使用该界面与系统进行交互。
-
Bridge — 使特定类独立于实现接口的类。
-
装饰器——在不绑定其结构的情况下向现有对象添加新功能。
行为的:
-
模板方法——定义了一个基本算法,并允许后代在不改变其整体结构的情况下覆盖算法的某些步骤。
-
Mediator——提供一个中介类来处理不同类之间的所有通信。
-
责任链——可以避免请求的发送者和接收者之间的严格依赖;此外,请求可以由多个对象处理。
-
观察者——允许一个对象监视和响应发生在其他对象中的事件。
-
策略——允许在运行时更改策略(算法)。
-
Command——一个接口,它声明了执行特定操作的方法。
-
状态——允许对象根据其状态改变其行为。
-
访问者——用于简化对相关对象组的操作。
-
解释器——为问题域中的简单语言定义语法。
-
迭代器——在不知道其底层形式的情况下顺序访问集合的元素。
-
Memento——用于存储对象的状态;稍后可以恢复此状态。
更多阅读: |
---|
GO TO FULL VERSION