首页 > 其他分享 >oop七大原则

oop七大原则

时间:2022-10-10 11:36:32浏览次数:45  
标签:原则 子类 七大 复用 接口 oop 基类 父类

在学习设计模式之前先了解一下设计原则。

一、oop七大原则

1、单一职责

一个类或者模块只负责完成一个职责。可以实现低耦合,提高代码的复用性、可维护性。但是并不是说越单一越好,根据业务决定。

2、开放-关闭原则

对扩展开发对修改关闭。因为需求是不断变化的,尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改现有的类(代码)。这就需要设计者的经验去提前想象后面可能会有哪些需要增加的需求,然后进行设计。

3、里氏替换原则:

任何基类(父类)可以出现的地方,子类一定可以出现。只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

4、依赖倒置原则

程序要依赖于抽象接口,不要依赖于具体实现

 

5、接口隔离原则

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

1、接口隔离原则(ISP)规定不应强迫客户端依赖它不使用的方法ISP。将非常大的接口拆分为更小和更具体的接口,以便客户端只需知道它们感兴趣的方法

 

6、迪米特法则

不要和陌生人讲话,只知道你直接的朋友。

应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。简言之,就是通过引入一个合理的第三者来降低现有对象之间的耦合度。

 

7、合成复用原则

尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

通常类的复用分为继承复用和合成复用两种。

继承复用虽然有简单和易实现的优点,但它也存在以下缺点:

继承复用破坏了类的封装性。因为继承会将父类的实现细节暴露给子类,父类对子类是透明的,所以这种复用又称为“白箱”复用。

子类与父类的耦合度高。父类的实现的任何改变都会导致子类的实现发生变化,这不利于类的扩展与维护。

它限制了复用的灵活性。从父类继承而来的实现是静态的,在编译时已经定义,所以在运行时不可能发生变化。

标签:原则,子类,七大,复用,接口,oop,基类,父类
From: https://www.cnblogs.com/thh19201420/p/16775035.html

相关文章

  • hadoop集群启动脚本文件myhadoop.sh
    #!/bin/bashif[$#-lt1]thenecho"NoArgsInput..."exit;ficase$1in"start")echo"===================启动hadoop集群=========......
  • 《Hadoop权威指南.大数据的存储与分析.第4版.修订版&升级版》
    /*免责声明:全部内容都属于是段友分享,我只是属于整理。**//*写在前边,个人觉得****弄一个积分下载,就是在自掘坟墓。表面上看起来是可以为个人赚积分,实际砍掉分享交流的一个途......
  • QEventLoop
    目录介绍使用介绍提供了一种异步编程的方式。本地创建的QEventLoop并不会影响主Application的逻辑。比while等待效率高。使用QEventLooploop;inta=3;//线程......
  • 【百年会员】大数据从入门到入职|Hadoop|Spark|Flink|FlinkSQL|FlinkCDC|Clickhouse|
    ​关心的问题写在最前面:1.两位数学习正版大数据课程是不是骗子?本课程大部分由《实战大数据(Hadoop+Spark+Flink)》作者本人录制,前期为了做口碑,做销量,两位数可以学习全部课......
  • druid-spring-boot-starter整合hive与hadoop的排除类
    hive-jdbc和jetty冲突,所以在hive-jdbc中对jetty进行排除就OK<exclusions> <exclusion> <groupId>org.eclipse.jetty.aggregate</groupId> <artifactId>*</artifactI......
  • Unrecognized Hadoop major version number: 3.0.0 版本冲突解决
    hive与hadoop的兼容性问题1.问题出现工作需要,在本地安装hive进行相关测试工作,版本选的是hadoop-3.0.0,hive-2.1.1。这个版本是按照CDH集群版本配的,本来以为没有冲突#......
  • 有这10大原则7大步骤,什么电路图都能看懂
    01​电路简化的基本原则初中物理电学中的复杂电路可以通过如下原则进行简化:☀第一:不计导线电阻,认定R线≈0。有电流流过的导线两端电压为零,断开时开关两端可以测得电压(电路中......
  • 机械零件制图识图必须懂的七大基础知识
    一.零件图的内容1)标题栏:位于图中的右下角,标题栏一般填写零件名称、材料、数量、图样的比例,代号和图样的责任人签名和单位名称等。标题栏的方向与看图的方向应一致。2)一组图......
  • 软件设计原则
    简介什么是软件设计原则?是一组帮助我们避开不良设计的指导方针。是由RobertMartin在《敏捷软件开发:原则、模式与实践》一书中整理收集而来。应该避免不良设计的以下......
  • 索引的建立原则, 如何避免索引失效
    源自面试鸭建立索引1.经常使用的字段2.字段最好唯一3.字段类型尽量用数值型,减少字符类型4.对于带条件和排序字段的字段建立索引5.频繁出现在where条件后面的字......