HeadFirst设计模式中的笔记,设计模式入门

 

要点:

  • 知道OO基础,并不足以让你设计出良好的OO系统
  • 良好的OO设计必须具备可服用,可扩充,可维护的特性
  • 模式可以让我们建造出具有良好OO设计质量的系统
  • 模式被认为是历经验证的OO设计经验
  • 模式不是代码,而是针对设计问题的通用解决方案。
  • 模式不是被发明,而是被发现。
  • 大多数的模式和原则,都着眼于软件变化的主题。
  • 大多数的模式都允许系统局部改变独立于其他部分。
  • 我们常把系统重会变化的部分抽出来封装。
  • 模式让开发人员之间有共享的语言,能够最大化沟通的价值。

• 知道OO基础,并不足以让你设计出良好的OO系统。
•  良好的OO设计必须具备可 复 用 、 可 扩 充 、 可 维 护三个特性。
•  模式可以让我们建造出具 有 良 好 O O 设 计 质 量 的 系统。
•  模式被认为是历经验证的OO设计经验。
•  模式不是代码,而是针对 设 计 问 题 的 通 用 解 决 方案 。 你 把 它 们
应 用 到 特 定的应用中。
•  模式不是被发明,而是被发现。. 
• 大多数的模式和原则,都着眼于软件变化的主题。
•  大多数的模式都允许系统 局 部 改 变 独 立 于 其 他 部分。
•  我们常把系统中,会变化的部分抽出来封装。. 
•  模式让开发人员之间有共 享 的 语 言 , 最 大 化 沟 通的价值。

设计模式:策略模式

定义:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。


OO原则:封装变化 多用组合,小用继承 
 针对接口编程,不针对实现编程。

设计原则:

  • 多用组合,少用继承。
    使用组合建立系统具有很大弹性,不仅可将算法族封装成类,更可以“在运行时动态改变行为”,只要组合的行为对象符合正确的接口标准即可。

  • 封装变化
    找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。

  • 针对接口编程,不对实现编程
    “针对接口编程”真正的意思是“针对超类型编程”。
    关键在于多态,利用多态,程序可以针对超类型编程,执行时会根据实际情况执行到真正的行为,不会被绑死在超类型的行为上。变量的声明类型应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量。这也意味着,生命类时不用理会以后真正执行的对象类型。


OO基础:抽象 封装 多态 继承

发表评论

电子邮件地址不会被公开。 必填项已用*标注