目标
- 对设计有点感觉
- Spring 基础
一、OO 设计
1. 什么是面向对象?
封装、继承、多态。仅此而已?
我假定未来理想的计算机能够具备生物组织一样的功能,每个“细胞”能够独立运作,也能与其它功能一起完成复杂的目标。“细胞”能够相互重组,以解决问题或者完成功能。——第一款面向对象语言 SmallTalk 发明者:艾伦·凯
2. 面向过程一样写代码,为什么需要面向对象?
软件开发的核心问题:复杂度。
OO 提供了更高层次的抽象,可以用更低的成本,构建更复杂的应用。
3. 常用设计原则
设计原则可以提供一些方向性的指导,不像设计模式那么死板。设计模式是设计原则在各种场景下的具体实践案例。
- 依赖倒置:针对接口(抽象)编程,不针对实现编程
- 单一职责:一个类最好只有一个引起变化的原因
- 最少知识:一个类要跟尽量少的类打交道
- 多用组合少用继承
以上是个人常用的一些原则。这些原则,都是为了尽量写出“高内聚低耦合”的代码。
4. 彩蛋:编程三重境界
- 我写的不是代码,是编程思想
- 我写的不是代码,是现实世界
- 我写的不是代码,是程序人生
(本来想把编程境界展开,专门做分享,谈一些理论性更强,抽象层次更高,更宏观的东西。但是抽象层次高的问题就是太“虚”了,分享出来作用不大,因此只在这里简单提一下。以后可另写文章分享感悟)
![]()
二、Spring 核心基础
(内部分享的时候,核心内容从下文摘录。这里不赘述)
/blog/spring-ru-he-jian-hua-java-kai-fa/