摘要:1. “对象创建”模式 通过“对象创建”模式绕开new, 来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 典型模式 Factory Method Abstract Factory Prototype Builder 2. 动机 在软
阅读全文
摘要:1. “单一职责”模式 在软件组件的设计中,如果则热划分的不清晰,使用继承得到的结果往往是需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式 Decorator Bridge 2. 动机(Motivation) 由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,
阅读全文
摘要:1. “单一职责”模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式 Decorator Bridge 2. 动机(Motivation) 在某些情况下我们可能会“过度的使用继承来扩展对象的功能
阅读全文
摘要:1. 现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 典型模式 Template Method Strategy Oberver/Event 2. 动机 在软件构建过程中,我们需要为某些对象建立一
阅读全文
摘要:1. “组件协作”模式: 现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚绑定,来实现框架与应用程序之间的松耦合,是两者之间协作常用的模式。 典型模式 Template Method Strategy Observer/Even 2. 策略模式的动机 在软件构建过程
阅读全文
摘要:1. 模式分类 从目的来看: 创建型模式 结构性模式 行为型模式 从范围来看: 类模式处理类与子类的静态关系。 对象模式处理对象间的动态关系。 从封装变化角度对模式分类: 组件协作: Template Method Strategy Observer/Event 单一职责: Decorator Br
阅读全文
摘要:1. 变化是复用的天敌,面向对象设计最大的优势在于:抵御变化。 2. 重新认识面向对象 (1)理解隔离变化 从宏观层面看,面向对象的构建方式能适应软件的变化,能将变化所带来的影响减为最小。 (2)各司其职 从微观的层面来看,面向对象的方式更强调各个类的“责任”。 由于需求变化导致的新增类型不应该影响
阅读全文
摘要:1. 课程目标 (1)理解松耦合设计思想 (2)掌握面向对象设计原则 (3)掌握重构技法改善设计 (4)掌握GOF核心设计模式 2. 《设计模式:可复用面向对象软件的基础》 可复用是设计模式的目标,面向对象是方法。通常说的设计模式默认为面向对象的设计模式,但这并不意味着设计模式就等于面向对象的设计模
阅读全文