Design Patterns教程-Java 设计模式
设计模式是解决特定问题/任务的行之有效的解决方案。
现在,你可能会问,什么样的特定问题呢?让我通过一个例子来解释。
给定问题: 假设你想创建一个类,该类只能创建一个实例(或对象),并且该单个对象可以被所有其他类使用。
解决方案: 单例设计模式是上述特定问题的最佳解决方案。所以,每种设计模式都有一些规范或规则来解决问题。那些规范是什么,你将在设计模式的类型中看到。
但请记住,设计模式是解决常见面向对象设计问题的编程语言无关的策略。这意味着,设计模式代表的是一个想法,而不是一个特定的实现。
通过使用设计模式,你可以使代码更灵活、可重用和易维护。这是非常重要的部分,因为Java在内部遵循设计模式。
要成为一名专业的软件开发人员,你必须知道至少一些解决编码问题的常用解决方案(即设计模式)。
设计模式的优点:
- 它们可以在多个项目中重复使用。
- 它们提供的解决方案有助于定义系统架构。
- 它们捕捉了软件工程的经验。
- 它们为应用程序的设计提供透明性。
- 它们是行之有效的解决方案,因为它们建立在专家软件开发人员的知识和经验之上。
- 设计模式不保证问题的绝对解决方案。它们为系统架构提供清晰度,并有可能构建更好的系统。
我们什么时候应该使用设计模式?
我们必须在SDLC(软件开发生命周期)的分析和需求阶段使用设计模式。
设计模式通过提供基于先前实践经验的信息,简化了SDLC的分析和需求阶段。
设计模式的分类:
基本上,设计模式分为两类:
- 核心 Java(或 JSE)设计模式。
- JEE 设计模式。
核心 Java 设计模式
在核心 Java 中,主要有三种类型的设计模式,这些模式进一步分为它们的子部分:
1. 创建型设计模式
- 工厂模式
- 抽象工厂模式
- 单例模式
- 原型模式
- 建造者模式
2. 结构型设计模式
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式
3. 行为型设计模式
- 责任链模式
- 命令模式
- 解释器模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 模板模式
- 访问者模式