重构关键技法
静态 -> 动态
早绑定 -> 晚绑定
继承 -> 组合
编译时依赖 -> 运行时依赖
紧耦合 -> 松耦合
GOF-23 模式分类
## 从目的来看:
• 创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。 • 结构型(Structural)模式:通过类继承或者对象组合获得更灵活的结构,从而应对需求变化为对象的结构带来的冲击。
• 行为型(Behavioral)模式:通过类继承或者对象组合来划分类与对象间的职责,从而应对需求变化为多个交互的对象带来的冲击。
## 从范围来看:
• 类模式处理类与子类的静态关系。
• 对象模式处理对象间的动态关系.
## 从封装变化角度对模式分类:
组件协作:
• Template Method
• Observer / Event
• Strategy
单一职责:
• Decorator
• Bridge
对象创建:
• Factory Method
• Abstract Factory
• Prototype
• Builder
对象性能:
• Singleton
• Flyweight
接口隔离: • Façade
• Proxy
• Mediator
• Adapter
状态变化:
• Memento
• State
数据结构:
• Composite
• Iterator
• Chain of
Resposibility
行为变化:
• Command
• Visitor
在这里插入代码片领域问题:
• Interpreter
面向对象设计原则与模式实战
本文探讨了面向对象设计的关键技法,包括静态与动态、早绑定与晚绑定、继承与组合、编译时依赖与运行时依赖以及紧耦合与松耦合的转换。通过创建型、结构型和行为型模式,以及类模式和对象模式,实现更灵活的软件结构。这些模式旨在封装变化,如模板方法、观察者模式、策略模式等,以应对需求变化带来的挑战。同时,文章还涉及了接口隔离、工厂方法等设计模式,用于增强系统的可扩展性和可维护性。
2657

被折叠的 条评论
为什么被折叠?



