在学习设计模式之前先了解一下设计原则。
一、oop七大原则
1、单一职责
一个类或者模块只负责完成一个职责。可以实现低耦合,提高代码的复用性、可维护性。但是并不是说越单一越好,根据业务决定。
2、开放-关闭原则
对扩展开发对修改关闭。因为需求是不断变化的,尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改现有的类(代码)。这就需要设计者的经验去提前想象后面可能会有哪些需要增加的需求,然后进行设计。
3、里氏替换原则:
任何基类(父类)可以出现的地方,子类一定可以出现。只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
4、依赖倒置原则
程序要依赖于抽象接口,不要依赖于具体实现
5、接口隔离原则
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
1、接口隔离原则(ISP)规定不应强迫客户端依赖它不使用的方法ISP。将非常大的接口拆分为更小和更具体的接口,以便客户端只需知道它们感兴趣的方法
6、迪米特法则
不要和陌生人讲话,只知道你直接的朋友。
应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。简言之,就是通过引入一个合理的第三者来降低现有对象之间的耦合度。
7、合成复用原则
尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
通常类的复用分为继承复用和合成复用两种。
继承复用虽然有简单和易实现的优点,但它也存在以下缺点:
继承复用破坏了类的封装性。因为继承会将父类的实现细节暴露给子类,父类对子类是透明的,所以这种复用又称为“白箱”复用。
子类与父类的耦合度高。父类的实现的任何改变都会导致子类的实现发生变化,这不利于类的扩展与维护。
它限制了复用的灵活性。从父类继承而来的实现是静态的,在编译时已经定义,所以在运行时不可能发生变化。
标签:原则,子类,七大,复用,接口,oop,基类,父类 From: https://www.cnblogs.com/thh19201420/p/16775035.html