1. SOLID原则
1.1 SRP(Single Responsibility Principle) 单一职责
一个类或模块只负责完成一个功能。
1.2 OCP(Open Closed Principle) 开闭原则
(模块、类、方法)对拓展开放,对修改关闭
1.3 LSP(Liskov Substitution Principle)里氏替换
子类对象能够替换程序中父类对象出现的任何地方,并保证原来程序的逻辑行为不变及正确性不被破坏。
1.4 ISO(Interface Segregation Principle) 接口隔离
客户端(接口调用者)不应该被强迫依赖它不需要的接口。
1.5 DIP(Dependency Inversion Principle) 依赖倒置/依赖反转
高层模块不依赖低层模块,它们共同依赖同一个抽象,抽象不要依赖具体实现细节,具体实现细节依赖抽象。
2. DRY(Don’t Repeat Yourself)原则
不要开发重复代码,可以复用或提取公共代码,同时也要注意遵守“单一职责”和“接口隔离”原则。
3. KISS(Keep It Simple And Stupid)原则
尽量保证代码简洁,使用通用技术(同事都懂的技术)、不重复造轮子、不过度优化。
4. YAGNI(You Aint’t Gonna Need It)原则
不去设计与开发当前功能用不到的代码,但并不意味着不考虑拓展性,可以预留好拓展点,后面需要时再开发。
5. LOD(Law of Demeter)原则/迪米特法则
不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。