Java设计模式详解:23种模式实践指南

需积分: 10 3 下载量 15 浏览量 更新于2024-07-24 收藏 934KB DOCX 举报
JAVA设计模式(Design Patterns) 设计模式(Design Patterns)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 设计模式的分类: 1. 创建型模式(共五种) * 工厂方法模式(Factory Method Pattern):提供一个创建对象的接口,但允许子类决定实例化哪个类。 * 抽象工厂模式(Abstract Factory Pattern):提供一个创建对象的接口,但允许子类决定实例化哪个类。 * 单例模式(Singleton Pattern):保证一个类只有一个实例,并提供一个访问该实例的全局点。 * 建造者模式(Builder Pattern):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 * 原型模式(Prototype Pattern):使用原型实例指定要创建对象的种类,并且通过拷贝这个原型创建新的对象。 2. 结构型模式(共七种) * 适配器模式(Adapter Pattern):将一个类的接口转换成另一个接口,以满足客户的需求。 * 装饰器模式(Decorator Pattern):动态地给一个对象添加一些额外的职责。 * 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。 * 外观模式(Facade Pattern):为子系统中的一组接口提供一个一致的界面。 * 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。 * 组合模式(Composite Pattern):将对象组合成树形结构以表示部分整体的层次结构。 * 享元模式(Flyweight Pattern):使用共享来实现大量细粒度对象的使用。 3. 行为型模式(共十一种) * 策略模式(Strategy Pattern):定义一个算法家族,并且使其可互换。 * 模板方法模式(Template Method Pattern):提供一个方法的框架,并允许子类决定某些步骤。 * 观察者模式(Observer Pattern):定义对象的一种一对多的依赖关系。 * 迭代子模式(Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个元素。 * 责任链模式(Chain of Responsibility Pattern):使多个对象都有机会处理请求。 * 命令模式(Command Pattern):将一个请求封装为一个对象,从而使您可以用不同的请求对客户进行参数化。 * 备忘录模式(Memento Pattern):在不破坏封装性的前提下,捕获一个对象的内部状态。 * 状态模式(State Pattern):当一个对象的内在状态改变时允许其改变行为。 * 访问者模式(Visitor Pattern):提供一种机制,使您可以在不修改现有类的情况下增加新的操作。 * 中介者模式(Mediator Pattern):使用一个中介者对象来封装一组对象之间的交互。 * 解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器。 设计模式的六大原则: 1. 开闭原则(Open-Close Principle):开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 2. 依赖倒置原则(Dependency Inversion Principle):高层模块不应该依赖于低层模块,而应该依赖于抽象。 3. 接口隔离原则(Interface Segregation Principle):客户端不应该被迫依赖于它不使用的接口。 4. 合成/聚合复用原则(Composite/Aggregate Reuse Principle):尽量使用合成/聚合,而不是继承关系。 5. 迪米特法则(Law of Demeter):一个对象应该对其他对象保持最少的了解。 6. 里氏代换原则(Liskov Substitution Principle):子类型必须能够替换基类型。 设计模式是软件工程的基石,使代码编制真正工程化,并且使代码更容易被他人理解、保证代码可靠性。