模式原则


模式设计不只是简单的描述问题的解决方案,而且很重视解决方案的可重用性和灵活性

通过以灵活的关系来组合对象,组件能在运行时被定义

运行时组合对象所达到的灵活性非常高,而这在单独的继承树中是不可能达到的

组合优于继承

把变化的概念封装起来

             -------《设计模式》

继承是应对变化的环境及上下文设计的有效方式,然而它会限制灵活性,尤其当类承担多重职责的时候。在父类的代码中使用条件语句是一种倒退,通常用多态来替代条件语句

策略模式适用于将一组算法移入到一个独立的类型中

显示调用另一个对象的方法来执行一个请求的方式便是委托。动态的组合及重组对象,远胜于将功能静态的建立在代码结构中。

组合使用对象比使用继承体系更灵活,因为组合可以以多种方式动态地处理任务,不过这可能导致代码的可能性下降。

重用性是面向对象设计的主要目标之一,而紧耦合便是它的敌人。

    《设计模式》建议积极搜寻类中变化的元素,并评估它们是否适合用新类型封装。根据一定条件,变化的元素可被提取出来形成子类,而这些元素共同拥有一个抽象父类。而这个新类型能被其他类使用。好处:

  1. 专注于职责
  2. 通过组合提高灵活性
  3. 使继承层级体系更紧凑和集中
  4. 减少重复

极限编程原则:

  1. 你还不需要它
  2. 用最简单的方式来完成任务

模式:

  1. 用于生成对象的模式(对象实例化)
  2. 用于组织对象和类的模式(帮助组织对象的组成关系)
  3. 面向任务的模式
  4. 企业模式
  5. 数据库模式

更多文章在http://wenjun.in

http://www.cnblogs.com/wenjuncool/archive/2012/03/22/2412473.html

原文地址:https://www.cnblogs.com/Leo_wl/p/2413181.html