一、单一职责原则:一个类,只有一个引起它变化的原因。本人理解就是,一个类只做一件事。不然耦合度就会相当高。
二、开放-封闭原则:对扩展开放,对修改封闭。因为软件的需求可能随时发生变化,所以设计类的时候应该尽量考虑到各种变化,并提供优秀的扩展性。一旦需求发生变化后,
不需要修改原来的代码,只需要增加新的代码就可以了。
三、依赖倒置原则:就是要依赖抽象,不依赖具体。就像电脑的接口一样,就比如USB接口,外面的用户只需要关心这个接口的型号,不关心里面是具体怎么实现。所以里面
不管怎么改变,只要接口型号不改变,外面的用户都不需要改变。而如果用户依赖的是具体里面怎么实现的,则只要电脑内部发生改变,用户都需要改变自己的接口型号来适应电脑的改变。这显然不是我们想要的。但是我感觉这个原则和策略模式差不多,都是提供一个抽象,根据抽象来进行选择具体的实现方式。
四、里氏代换原则:就是父类出现的地方,都可以用子类来替代。简而言之就是:父类拥有的属性和方法,子类都必须有。就像企鹅和鸟一样,如果将飞定义成鸟的方法,而
企鹅继承于鸟,则违背了“里氏代换原则”,原因是父类——鸟拥有飞的方法,而企鹅是不可以飞的。