面向对象设计原则有哪些(常用的六大面向对象设计原则介绍)
面向对象设计原则概述
在面向对象的软件设计中,只有尽量降低各个模块之间的耦合度,才能提高代码的复用率,系统的可维护性、可扩展性才能提高。面向对象的软件设计中,有23种经典的设计模式,是一套前人代码设计经验的总结,如果把设计模式比作武功招式,那么设计原则就好比是内功心法。常用的设计原则有七个,下文将具体介绍。
设计原则简介
单一职责原则: 专注降低类的复杂度,实现类要职责单一;
开放关闭原则: 所有面向对象原则的核心,设计要对扩展开发,对修改关闭;
里式替换原则: 实现开放关闭原则的重要方式之一,设计不要破坏继承关系;
依赖倒置原则: 系统抽象化的具体实现,要求面向接口编程,是面向对象设计的主要实现机制之一;
接口隔离原则: 要求接口的方法尽量少,接口尽量细化;
迪米特法则: 降低系统的耦合度,使一个模块的修改尽量少的影响其他模块,扩展会相对容易;
组合复用原则: 在软件设计中,尽量使用组合/聚合而不是继承达到代码复用的目的。
这些设计原则并不说我们一定要遵循他们来进行设计,而是根据我们的实际情况去怎么去选择使用他们,来让我们的程序做的更加的完善。
里式替换原则
定义 :
如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2 时,程序P的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。
换句话来说,一个软件实体如果使用一个基类的话,那么一定适用于其子类,而且它根本不会察觉出基类对象和子类对象的区别。
比如说,假设有两个类,一个是Base类,另一个是Derived类,并且Derived类是Base的子类,那么一个方法如果可以接受一个基类对象b的话: method(Base b) ,那么它必然可以接受一个子类对象d,可以有 method1(d)
里式替换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不会受到影响的时候,基类才能真正被复用,而衍生类也才能够在基类的基础上增加新的行为。
我们通过一个例子来理解一下:
《西游记》中,美猴王下地府桥段,个位应该有印象把,到达阎王殿之后,拿到生死簿,把生死簿上所有的包括自己,还有其他的猕猴,所有的猴子猴算都给划了,这也是导致之后真假美猴王桥段的前序。
画个图理解
很显然,地府管理一切生灵的生死的方法都是通过类来进行区分的,比如孙悟空就是石猴,之后出现的那个六耳猕猴就是猕猴,但是他们都是属于同一个类,猴类,就像下图中。
因此,孙悟空把猴类中有姓名的都从生死簿勾掉之后,显然是因为勾魂小鬼们并不区分石猴类与猕猴类,就像下图:
本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/903083.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!