思想的真正客观性应该是:思想不仅是我们的思想,同时也是事物的自身,或对象性的东西的本质
衡量软件的设计质量:可读性、可复用性、可扩展性、可维护性
面向对象的基本概念:
封装:对现实世界的模拟,反映某一种事物的共性
继承 :遗传
多态性 :静态多态性,动态多态性
抽象
面向对象的基本原则:
开闭原则:一个模块对扩展应是开放的,对修改应是关闭的
完全替换原则:派生类应该能完全替换掉基类
依赖倒置原则:依赖于抽象,而不要依赖于具象
非循环依赖原则:包和包之间不能有循环依赖关系
只实现你真正需要的东西,不要去实现你认为需要的东西
不要重复自己:任何代码都只出现一次
保持简化的设计
为人写代码,而不是为机器写代码
3.4.4 面向对象的开发过程
a、面向对象分析:根据用户需求,建立准确、完整、一致的系统模型,该模型描述软件需要解决的问题是什么,我们称之为分析模型
b、架构分析:宏观上考虑一个软件系统应该如何组织,以及该软件系统需要满足的设计约定、规则、和模式等
c、面向对象设计:以分析模型作为输入,把分析模型转化成描述如何解决问题的系统模型,得出完整的解决方案
d、编码:实现
e、测试
3.5 框架和类库
3.5.1 框架和类库的区别:框架是一个“半成品”的应用程序,而类库只包含一系列可被应用程序调用的类。
3.5.2 框架的分类:应用范围分(系统框架 中间件框架 企业应用框架) 控制倒置的不同实现方式分(白盒框架 黑盒框架)