1. 面向对象泛型和设计模式

2019-01-28  本文已影响0人  何大炮

面向对象泛型

为了应对需求的变化,我们多使用模块化来实现代。但是通常会有两个问题:

  1. 低内聚:例程中操作之间的联系紧密程度低
  2. 紧耦合:多个例程之间联系的紧密程度高

面向对象泛型,可以很好地解决这个问题。
定义:以对象为中心,一起都集中在对象上。编写代码时是围绕对象而非函数进行组织的。

什么是对象

  1. 具有责任的东西。
  2. 从概念上讲:对象是一组责任。
  3. 在规约层次上:对象是一组可以被其他对象或者对象自己调用的方法。
  4. 在实现层次:对象是代码和数据,以及他们之间的计算交互。
  5. 设计规则:对象应该自己负责自己,而且应该清楚地定义责任。

什么是抽象类

  1. 实现层次:不能实例化的类
  2. 概念层次:其他类的占位符(给一组相关的类赋予一个名字,使我们能将这一组相关类看成一个概念)

封装带来的好处:

  1. 对象对自己行为所负责越多,控制程序需要负的责任就越少。
  2. 封装使对象内部行为的变化对其他对象变得透明了。
  3. 封装有利于防止修改带来的副作用。
  4. 有利于松耦合。

设计模式

和房屋设计模式类似,软件也有自己的设计模式。模式是在某一个背景下某个问题的一种解决方案。
好处:

  1. 复用解决方案
  2. 确定通用术语(方便交流)
  3. 阐释了面向对象的基本原则
  4. 代码更容易维护和修改

需要记住并坚持的策略:

  1. 按接口编程(而不是按照过程编程)
  2. 尽量用聚合代替继承。
  3. 找出变化并封装。
上一篇下一篇

猜你喜欢

热点阅读