首页 > 其他分享 >每日总结

每日总结

时间:2023-12-13 20:12:02浏览次数:22  
标签:总结 依赖 原则 里氏 每日 复用 接口 开闭

面向对象设计原则

1、开闭原则

开闭原则的定义:软件实体应当对扩展开放,对修改关闭。

如何实现开闭原则:抽象化是开闭原则的关键,提供相对稳定的抽象层和灵活的具体层。

2、里氏替换原则

所有引用基类的地方必须能透明地使用其子类的对象

里氏代替原则的实现方法:

子类可以扩展父类的功能,但不能改变父类原有的功能。

3、依赖倒转(置)原则定义

高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象

我们在实际编程中只要遵循以下四点,就能在项目中满足依赖倒置原则:

⑴ 每个类尽量提供接口或抽象类,或者两者都具备。⑵ 变量的声明类型尽量是接口或者是抽象类。⑶ 任何类都不应该从具体类派生。⑷ 使用继承时尽量遵循里氏替换原则。

4、单一职责原则

单一职责原则是最简单的面向对象设计原则,用于控制类的粒度大小

一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中

5、接口隔离原则

客户端不应该依赖那些它不需要的接口

接口隔离原则的实现方法:⑴ 接口尽量小,但是要有限度。⑵ 只提供调用者需要的方法,屏蔽不需要的方法。⑶ 了解环境,拒绝盲从。⑷ 提高内聚,减少对外交互

6、迪米特法则

迪米特法则又称为最少知识原则(Least Knowledge Principle, LKP)

每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位

7、合成复用原则

合成复用原则又称为组合/聚合复用原则

优先使用对象组合,而不是继承来达到复用的目的。

标签:总结,依赖,原则,里氏,每日,复用,接口,开闭
From: https://www.cnblogs.com/syhxx/p/17899823.html

相关文章

  • 知识库搭建工具年度总结来啦!赶紧收藏!
    随着信息时代的到来,知识管理变得越来越重要。无论是个人还是企业,都需要一个高效的知识库来存储和管理各种知识资源。为了帮助大家搭建一个优秀的知识库,我将为大家推荐4款知识库搭建工具。下面我们一起来了解这些工具吧!HelpLookHelpLook是一款功能强大的知识库搭建工具。它提供了全......
  • 12/13每日总结
    拓扑排序简介拓扑排序就是找到做事的先后顺序每个AOV网可能有一个或者多个拓扑排序实现①从AOV网中选择一个没有前驱(入度为0)的顶点并输出。②从网中删除该顶点和所有以它为起点的有向边。③重复①和②直到当前的AOV网为空或当前网中不存在无前驱的顶点为止。使用三个数组进行实现......
  • 12/13每日总结
    拓扑排序简介拓扑排序就是找到做事的先后顺序每个AOV网可能有一个或者多个拓扑排序实现①从AOV网中选择一个没有前驱(入度为0)的顶点并输出。②从网中删除该顶点和所有以它为起点的有向边。③重复①和②直到当前的AOV网为空或当前网中不存在无前驱的顶点为止。使用三个数组进行实现......
  • 网络流小总结
    \[\Huge\color{lightblue}\text{网络流启动}\]概念网络边带权的有向图,只存在一个原点\(s\)和汇点\(t\)。边\(<u,v>\)的权值\(c(u,v)\)表示这个点的容量。流\(f(u,v)\)满足:流量限制,即\(f(u,v)\leqc(u,v)\)。流量守恒,即对\(u\nes,u\net\),\(\sumf(u,v)=\sumf......
  • 每日一聊:什么是SDWAN
    SD-WAN,全称为软件定义广域网(Software-DefinedWideAreaNetwork),是一种基于软件定义网络(SDN)理念的广域网络解决方案。它通过使用软件和虚拟化技术,以更加灵活、智能和集中化的方式管理和优化广域网络的运行。传统的广域网络架构通常是基于硬件设备和专用线路的,这限制了网络的灵活性......
  • @Async总结
    使用场景:开发中会碰到一些耗时较长或者不需要立即得到执行结果的逻辑,比如消息推送、商品同步等都可以使用异步方法,这时我们可以用到@Async。但是直接使用@Async会有风险,当我们没有指定线程池时,他会默认使用其Spring自带的SimpleAsyncTaskExecutor线程池,会不断的创建线程,当并发......
  • mysql花式操作数据小技巧总结
    mysql花式操作数据小结本文是一片关于一些mysql小技巧的总结。主要内容包括:字段中包含多值、基于字段中某个值查询、基于身份证设置性别、身份证生成出生日期、增加表字段、一次搞定多个查询、关联删除、通过关系表一对多查询合并到一条记录、替代like1.字段中包含多值字段为cro......
  • Vue3 setup 方法的一些基本使用总结
    官网介绍:https://cn.vuejs.org/api/composition-api-setup.html基本使用setup()钩子是在组件中使用组合式API的入口,通常只在以下情况下使用:需要在非单文件组件中使用组合式API时。需要在基于选项式API的组件中集成基于组合式API的代码时。setup方法返回值:返回一......
  • 迭代器失效问题总结
    关于迭代器失效,,今天做一个总结。迭代器失效分三种情况考虑,也是三种数据结构考虑,分别为数组型,链表型,树型数据结构。1、对于序列式容器,比如vector,删除当前的iterator会使后面所有元素的iterator都失效。举例如下:voidvectorTest(){vector<int>v;for(inti=0;i<10;i+......
  • Oracle EBS 寄售业务总结
    来源:OracleEBS寄售业务总结_51CTO博客_oracleebs总述:须通过一揽子采购协议(BPA)明确采购方与供应商之间的寄售关系,及各种协议条款;通过来源补充规则(SourcingRules)明确物料的供应商以及分配规则;通过合格供应商列表(ASL)明确物料与供应商、供应商地点以及BPA之间的关系,界定该物......