单一职责(用于横向区分,接口,类,方法职责单一。接口1与接口2分别包含各自的职责)
接口隔离(用于竖向继承,接口粒度不能过大。它的实现类(客户端)不需要多余方法)
------------------------------------------------------------------
开闭原则(目的。扩展开放,修改关闭)
里氏代换(基础。基类出现的地方,必须可以使用子类替换)
依赖倒转(手段。依赖抽象,依赖接口。实现需要针对抽象层进行编程,而将具体类的对象通过依赖注入的方式注入到其他对象中,常见的注入方式有3种。构造注入,设置注入,接口注入)
IOC(inversion of control)控制反转模式;控制反转是将组件间的依赖关系从程序内部提到外部来管理;
DI(dependency injection)依赖注入模式;依赖注入是指将组件的依赖通过外部以参数或其他形式注入;
两个说法本质上是一个意思。
-----------------------------------------------------
合成复用(优先使用组合,而不是继承。有助于代码复用,和防止继承链过长。桥接模式)
----------------------------------------------
迪米特(最少知识原则 。要求限制软件实体之间通信的宽度和深度,降低系统的耦合度。比如防止A调用B,B又调用A出现。使用中间件来控制,中介者模式)