一、单一职责原则
一个类只负责一个功能领域中的相应职责。对类根据功能进行拆分。
二、开闭原则
软件实体应当对扩展开放,对修改关闭。尽可能不修改的情况下进行扩展。
三、里氏替换原则
所有引用基类的地方必须透明的使用其子类的对象。
能够使用基类的地方,都可以使用子类替换父类实例。反过来不成立。
四、依赖倒置原则
传递参数或在关联关系中,尽量引用层次高的抽象层类。子类只实现接口或抽象类中声明过的方法,不要给出多余的方法,否则无法调用子类中新增加的方法。
依赖注入的三种方式:构造注入,设值注入,接口注入。
开闭原则,里氏替换原则,依赖倒置原则本质都是面向抽象编程
五、接口隔离原则
一个接口不应该定义过多的方法,每一个接口应该承担一种相对独立的角色。
如果定义方法过多,实现的时候就会实现很多空方法。
六、迪米特法则(最少知识原则)
对象之间尽量不相互调用。或者引用第三方对象转发这个调用。