1。 面向过程的先天不足
这个和我们的认知有关,因为我们是按照面向对象的模式认识世界的。
功能分解造成了主函数,即控制程序,责任过大,一个修正的方法是将责任下放到子函数。这里引出“责任”话题。
2. 面向对象
2.1 对象
对象时具有责任的东西(对象具有责任且自己负责自己)。
在概念层次上,对象是一组责任
在规约层次上,对象是一组行为
在实现层次上,对象是数据和代码
建议:在概念层次上耦合,在实现层次上内聚
对象具有供其他对象使用的公共接口(这个接口应该是概念层次上的吧)
2.2 类
类就是对对象行为的定义
抽象类定义了其他一些相关类的行为
在概念层次上,抽象类是其他类的占位符(面向接口编程白)
3.设计模式
反复出现的主题(任务)称为“模式”
使用的好处:略
建议:
按接口编程(designing to interface)
尽量使用聚合替代继承
找出变化封装之