- 面向对象的精髓在抽象,面向对象的困难在抽象,面向对象的成功在于成功的抽象,面向对象的失败在于失败的抽象。成也抽象,败也抽象。
- 面向对象编程的目标从来都不是复用。对象提供一种处理复杂性问题的方式。有了对象,我们能通过提升抽象级别来构建更大、更复杂的系统。
- 如果一次成型一辆汽车很难,我们可以把汽车分成很多个零件,分别制造,再按照预设的接口组装成完整的车。
- 现实世界和对象世界存在一道鸿沟,这个鸿沟的名字叫做抽象。要跨越这道鸿沟,我们需要UML背后的面向对象分析设计方法。
- 建立模型是人们常用的解决现实问题的方法。世界无论多么复杂,其本质无非是由人、事、物、规则组成的。人是一切的中心,人要做事,做事要使用一些物并产生一些物,同时做事需要遵循一定的规则。人驱动系统、事体现过程、物记录结果,规则是控制。建立模型的关键就是要弄明白有什么人、什么人做什么事、什么事产生哪些物,中间有什么规则,再把人、事、物之间的关系定义处理,建模也就基本完成了。
- UML解决了面向对象的三个困难:
- 一种把现实世界映射到对象世界的方法从现实世界到业务模型
- 一种用对象世界描述现实世界的方法从业务模型到概念模型
- 一种验证对象世界的行为正确反映了现实世界的方法从概念模型到设计模型
如下图所示: