不讲那些书本上单纯的概念,什么继承封装多态.
我的问题是,一个软件被设计成什么样子,才算得上是面向对象的呢?
这是我现在有点困惑的一个问题.
我刚入行的时候,认为写Class代替struct就是面向对象, - 这大概属于封装吧.
后来学习了对象封装的一些原则,比如高内聚,低耦合,扇入扇出等.
再后来学习了设计模式,开始在自己的设计中寻找设计模式的影子,或者
尽量地在设计的时候考虑能否使用现成的模式
再后来设计框架,发现多态才是OO的精髓.
现在,我刚刚完成一份概要设计的第一版,却觉得我这个设计里没什么地方
算得上面向对象. 非常奇怪的感受,如果我不能强烈的感觉我的设计是OO的,
我就会觉得不安. 而事实上,我对于OO的理解是不断地在变化的...
大家有没有相同的感受?
我现在有一种感觉,就是软件设计其实遵循的原则都是一样的,比如:
高效率
低耦合
容易扩展
容易在运行时改变行为
使用坚固的,可靠的成功模式
等等.