博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

Martin Fowler描述了软件开发过程中的三个不同的视角(perspective)

视角1 —— 概念(conceptual)
               这个视角“展现了问题领域中的概念……一个概念模型可以在对实现软件有很少或毫不知情的情况下画出…”

 

视角2 —— 规格(specification)

               “现在我们看看软件,但我们只看软件的接口,而不看实现。”

 

视角3 —— 实现(implementation)

              现在,我们置身于代码本身。“这可能是最常用的视角,但在许多方面,规格视角经常是更好的视角。”

 

 

     从Flower的视角框架来观察对象:

  • 概念层次来看,一个对象是一系列责任;
  • 规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;
  • 实现层次来看,一个对象是一些代码和数据;

 

     什么是对象?

  • 定义1:拥有方法的数据;(具有局限性)
  • 定义2:对象是“拥有责任的某种东西”,对象应该对自己负责,并且这种责任应该被清楚地定义出来;