架构最重要的就是编程思想:
- 利于开发者
- 利于公司
- 利于客户
在日常开发中我们需要遵从六大基本原则,分别是:
- 单一职责原则(SRP Single Responsibility Principle) -> 可参考firstChapter version2
定义:对一个类来说,应该仅有一个引起它变化的原因。简单来说就是模块的划分需要做到职责清晰,不要既能满足A需求,又能满足B需求,这样耦合太强,不利于后期的扩展和维护。
- 开闭原则(COP Open Close Principle)-> 可参考firstChapter version3
定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。简单的说就是程序中类应该是易于扩展的,而不是一有什么新的需求或者变化就去修改原来的代码,这样很容易出现问题。
- 里氏替换原则(LSP Liskov Substitution Principle)-> 可参考firstChapter version3
定义:在基类出现的地方,其子类也可以出现,并且不会出现错误。简单的说就是利用了Java面向对象思想中的继承、多态的特性。
- 依赖导致原则(DIP Dependence Inversion Principle)-> 可参考firstChapter version3
定义:高层次的模块不依赖于低层次的模块的实现细节。简单来说就是依赖抽象(高层次模块)而不依赖具体实现(低层次模块)。
- 接口隔离原则(ISP InterfaceSegregation Principles)-> 可参考firstChapter version3
定义:不依赖不需要的接口,从而容易重构、更改和重新部署。
- 迪米特原则(最少知识原则 LKP/LOD Least Knowledge Principle)-> 可参考firstChapter version4
定义:一个类应该对自己需要耦合或者调用的类知道的最少,类的内部如何实现与调用者或者依赖者没关系,调用者或者依赖者只需要知道它需要的方法即可。