1单一职责原则
什么是单一职责原则,在我理解看来就是一个东西如果发生问题那么就有且仅有一个原因导致它发生问题。它的准确解释就是,就一个类而言,应该仅有一个引起它变化的原因。
如果一个类承担的职责过多,就等于耦合度加大,当变化发生时,设计会受到破坏。最好的例子就是将界面和业务进行分离。做设计应该让类只有一个职责。
2开放封闭原则
它说的是,软件实体(类,模块,函数)应该可以扩展,但是不能进行修改。对于扩展是开放的,对于修改来言是封闭的。开发人员对程序的改动应该是增加代码而进行的,而不是修改代码。
3依赖倒转原则
高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。其核心思想是:要面向接口编程,不要面向实现编程。依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。
4里氏代换原则
一个软件实体使用的是它的父类的话,那么也一定适用于子类,也就是说把父类全部换为子类,程序行为没有变化。
Animal animal = new cat();
animal.eat();
animal.drink();
animal.run();
animal.sleep();
//当需要其他动物来执行行为,只需要更换掉cat