23种设计模式详解:从Singleton到Flyweight

需积分: 1 0 下载量 195 浏览量 更新于2024-09-13 收藏 3KB TXT 举报
设计模式总结 设计模式是软件开发过程中的一种解决方案,旨在解决软件设计中出现的问题。根据模式的作用,可以将设计模式分为三个主要类型:创建型、结构型和行为型。 **创建型设计模式** 1. Singleton Pattern(单例模式):确保一个类只有一个实例,并提供一个全局访问点。 2. Abstract Factory Pattern(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定具体的类。 3. Factory Method Pattern(工厂方法模式):定义一个用于创建对象的接口,让子类决定实例化哪一个类。 4. Builder Pattern(建造者模式):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 5. Prototype Pattern(原型模式):使用原型实例指定要创建对象的种类,并且通过拷贝这个原型来创建新的对象。 **结构型设计模式** 1. Adapter Pattern(适配器模式):将一个类的接口转换成客户希望的另外一个接口,Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 2. Bridge Pattern(桥接模式):将一个类的接口与其实现分离,使得两者可以独立地变化。 3. Composite Pattern(组合模式):将对象组合成树形结构以表示部分整体的层次结构。 4. Decorator Pattern(装饰模式):动态地给一个对象添加一些额外的职责。 5. Flyweight Pattern(享元模式):使用共享技术来有效地支持大量细粒度的对象。 **行为型设计模式** 1. Interpreter Pattern(解释器模式):给定一个语言,定义它的文法表示,并定义一个解释器来解释该语言中的句子。 2. Iterator Pattern(迭代器模式):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。 3. Mediator Pattern(中介者模式):用一个中介对象来封装一系列的对象交互。 4. Memento Pattern(备忘录模式):在不破坏封装性的前提下,捕获一个对象的内部状态,并在以后将该对象恢复到原先保存的状态。 5. Observer Pattern(观察者模式):定义对象的一种一对多的依赖关系,使得当一个对象改变状态时,所有依赖于它的对象都会收到通知并且自动更新。 6. State Pattern(状态模式):当一个对象的内在状态改变时允许改变其行为,这对象看起来像是改变了其类。 7. Strategy Pattern(策略模式):定义一系列的算法,把它们一个个封装起来,并使它们可互相替换。 8. Template Method Pattern(模板方法模式):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 9. Visitor Pattern(访问者模式):表示一个作用于某对象结构中的各元素的操作。 设计模式提供了一个通用的解决方案来解决软件设计中的一些常见问题,帮助开发者编写更加灵活、可维护和可扩展的代码。