设计模式
设计模式是软件开发中常用的解决方案模板.它们是针对常见问题提出的已验证解决方案,以帮助开发人员更高效地解决特定的问题.设计模式提供了通用的解决方案和规范,以便在特定情景下重复利用,并有助于代码的可维护性、可读性和扩展性.这些模式经常适用于特定的编程语言,并将最佳实践与面向对象设计原则相结合,例如单一职责、开闭原则等.
常用设计模式
创建型
- 单例模式(Singleton Pattern): 确保类只有一个实例,并提供对该实例的全局访问点.
- 原型模式(Prototype Pattern): 通过复制现有对象来创建新对象.
- 工厂模式(Factory Pattern): 将实例化逻辑抽象化,创建对象而不指定具体类.
- 抽象工厂模式(Abstract Factory Pattern): 提供一系列相关或依赖对象的接口,而不需指定具体类.
- 建造者模式(Builder Pattern): 分步创建复杂对象,允许构造过程中改变对象内部表示.
结构型
- 适配器模式(Adapter Pattern): 将不兼容接口转换成可接受的接口.
- 装饰器模式(Decorator Pattern): 动态地给对象添加新功能.
- 代理模式(Proxy Pattern): 控制对象访问,提供额外的访问层.
- 外观模式(Appearance Pattern): 提供统一的接口以简化接口.
- 桥接模式(Bridging Pattern): 将抽象部分和实现部分分离,使它们能够独立变化.
- 组合模式(Combination Pattern): 将对象组合成树形结构以表示部分-整体的层次关系.
- 享元模式(Enyuan Pattern): 通过共享实例来最小化内存使用.
行为型
- 观察者模式(Observer Pattern): 定义对象间的一对多依赖关系.
- 迭代器模式(Iterator Pattern): 顺序访问集合元素,无需暴露其底层表现.
- 策略模式(Strategic Pattern): 定义一系列算法,使其可以相互替换.
- 模板方法模式(Template Method Pattern): 定义算法框架,允许继承类重写特定步骤.
- 职责链模式(Chain of Responsibility Pattern): 将请求传递给一系列对象直到有一个对象处理它.
- 命令模式(Command Pattern): 封装请求为对象,使得可以参数化客户端行为.
- 备忘录模式(Memorandum Pattern): 保存一个对象的状态,以便在之后恢复到之前的状态.
- 状态模式(State Pattern): 允许对象在内部状态发生改变时改变其行为.
- 访问者模式(Visitor Pattern): 对象结构上的操作,使新功能可以更容易添加.
- 中介者模式(Intermediary Pattern): 定义对象间互相通信的简化方式.
- 解释器模式(Interpreter Pattern): 定义语言的语法,并提供其解释.