模式原则
模式设计不只是简单的描述问题的解决方案,而且很重视解决方案的可重用性和灵活性 通过以灵活的关系来组合对象,组件能在运行时被定义 运行时组合对象所达到的灵活性非常高,而这在单独的继承树中是不可能达到的 组合优于继承 把变化的概念封装起来 -------《设计模式》 继承是应对变化的环境及上下文设计的有效方式,然而它会限制灵活性,尤其当类承担多重职责的时候。在父类的代码中使用条件语句是一种倒退,通常用多态来替代条件语句 策略模式适用于将一组算法移入到一个独立的类型中 显示调用另一个对象的方法来执行一个请求的方式便是委托。动态的组合及重组对象,远胜于将功能静态的建立在代码结构中。 组合使用对象比使用继承体系更灵活,因为组合可以以多种方式动态地处理任务,不过这可能导致代码的可能性下降。 重用性是面向对象设计的主要目标之一,而紧耦合便是它的敌人。 《设计模式》建议积极搜寻类中变化的元素,并评估它们是否适合用新类型封装。根据一定条件,变化的元素可被提取出来形成子类,而这些元素共同拥有一个抽象父类。而这个新类型能被其他类使用。好处: 专注于职责 通过组合提高灵活性 使继承层级体系更紧凑和集中 减少重复 极限编程原则: 你还不需要它 用最简单的方式来完成任务 模式: 用于生成对象的模式(对象实例化) 用于组织对象和类的模式(帮助组织对象的组成关系) 面向任务的模式 企业模式 数据库模式 更多文章在