设计模式基本原则

  看设计模式看了一段时间了,应该说在大学里面已经针对设计模式上课学习过一遍,记得初次看学习设计模式的时候,感觉很强大,有太多新的自己想象不到的设计思路,一个个在接受,毕竟学生的时候只是觉得新颖在看看,对于他的灵魂--设计模式的几个基本原则,也就只能达到随口而出的一个“开-闭原则”吧,呵呵,这段时间再细看了一遍,理解比以前深了一点,持续学习中。。。,先把几大基本原则记录下来先
1、开-闭原则
  模块应对扩展开放,而对修改关闭,简而言之,我们要新增或修改功能的时候,尽量达到不要修改原来的代码,而通过模块扩展去实现,具体到我们平时的现实应用中,可以描述如下:
  1).客户的需求是不稳定的,通过扩展已有的软件系统而不是通过修改软件系统来满足客户的需求,这样的软件系统就满足开-闭原则,即软件系统要有一定的灵活性和适应性。

  2).已有的模块,特别是抽象层的模块不能修改,保证软件系统的稳定性和延续性。 解决问题的关键是抽象化,把它与具体实现分离开来。接口(interface),抽象类的应用 对可变性封装:将可变性封装到一个对象里。

2、里氏代换原则
  如果调用的是父类的话,那么换成子类也完全可以运行。里氏代换原则是继承复用的一个基础。体现为:
  当两个具体类关系违反里氏代换原则时,一种办法是抽象出一个基类,作为这两个类的父类, 一种是应用组合聚合关系建立关系。 不要为了使用某些类的方法(功能)而滥用继承。

3、合成复用原则
  就是说要少用继承,多用合成关系来实现
  这个原则当初看起来比较虚,一直没有理解到其中内含,直至今日,虽然有了更深一点的体会,但实际应用中还是把握得不是很好。Prefer composition to inheritance.这句话的背景是OO初期大家都把继承看作是万能的,并过度使用继承来实现多态->可扩展.
  体现为:比如说你项目中的很多类都要和数据库做交互,这种情况下我们都往往会抽象一个数据库操作类出来,然后把自己觉得公用的方法一脑子在这个操作类里面实现,然后其中的和数据库有交互的类都继续这个类,看起来这个没有多大问题,但是如果操作类这个公用性抽象不好,某天你需要改操作类的某个方法,你会发现你下面的各个类都需要做相应的修改,变动那是相当大呀。当然这个例子可能不是很好,意会一下...

4、依赖倒转原则
  抽象不应该依赖与细节,细节应当依赖与抽象。 要针对接口编程,而不是针对实现编程。 传递参数,或者在组合聚合关系中,尽量引用层次高的类。 主要是在构造对象时可以动态的创建各种具体对象,当然如果一些具体类比较稳定,就不必在弄一个抽象类做它的父类,这样有画舌添足的感觉

5、接口隔离原则
  定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干

6、抽象类
  抽象类不会有实例,一般作为父类为子类继承,一般包含这个系的共同属性和方法。
注意:好的继承关系中,只有叶节点是具体类,其他节点应该都是抽象类,也就是说具体类
是不被继承的。将尽可能多的共同代码放到抽象类中。

7、迪米特法则
  最少知识原则。不要和陌生人说话。
【DesignMode】设计模式的7种原则 编写软件过程中,程序员面临着来自等多方面的 挑战, 设计模式是为了让程序(软件),具有更好耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性1) 设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要”2) Scott Mayers 在其巨著《Effective C++》就曾经说过:C++老手和 C++新手的区别就是前者手背上有很多伤疤一个类只做一件事情,比如:文件操作类,文件列表,文件搜索,文件名修改,文件内容修改。当然此功能可以拆的更细,更多类。一个方法只做一件事 阅读详情

相关推荐

37、OpenMP:并行编程的强大工具

本文详细介绍了 OpenMP 的核心功能和使用方法,包括执行环境例程、线程同步与协调机制,如关键区域、屏障、原子操作、归约子句、刷新构造和锁机制。此外,还提供了多个实践练习,涵盖矩阵乘法的并行实现、任务池与流水线模式的应用、读写锁的扩展与移植,以及客户端-服务器模式的实现与优化。通过这些内容,读者可以全面掌握 OpenMP 在并行编程中的实际应用与性能优化技巧。

www00的博客 85

设计模式之七大基本原则

做什么事都需要遵循一些准则,设计模式也不例外。我们在设计一些设计模式时,一般遵循如下七项基本原则,它们分别是: 单一职责原则 (Single Responsibility Principle) 开放-关闭原则 (Open-Closed Principle) 里氏替换原则 (Liskov Substitution Principle) 依赖倒转原则 (Dependence I

ff_wwb的专栏 1077

LoRa Mesh网络节点开发与源码实现

标题“lora-mesh-master”指向一个涉及远距离低功耗无线通信网络构建的源代码项目。该技术采用扩频调制机制,能够在较宽频带内实现远距离传输,适用于物联网中的自组织网络构建。所谓网状拓扑,是指设备之间可以直接进行数据交换,无需依赖中心节点,从而提升通信的可靠性和网络覆盖范围。在开发此类网络时,需掌握LoRa通信的基本参数配置,包括扩频因子、频率选择与数据传输速率等关键参数。相关标签如“lora-mesh”或“meshlora”可能指向具体的实现方案或程序库,而“LORA节点源码”则提供了构建网络节点所需的核心代码资源。项目压缩包中通常包含完整的开发材料,例如说明文档、核心程序代码、参数配置文件、功能演示脚本、外部依赖库信息以及编译工具等。这些资源共同支持开发者在硬件平台上实现节点部署与网络功能。深入开发需理解以下技术要点:扩频调制原理、LoRaWAN协议结构、自组织组网方式、多跳路由策略以及功耗控制方法。通过分析项目源码,可以掌握自修复网络的构建、拓扑管理、冲突处理与传输优化等关键技能。进行实际部署前,需准备相应的通信模块、微控制器及相关开发环境。资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

设计模式七大原则

1、设计模式的目的 ​ 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 ​ 1) 代码重用性 (即:相同功能的代码,不用多次编写) ​ 2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) ​ 3) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护) ​ 4) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响) ​ 5) 使程序呈现高内聚,低耦合的特性 2、设计模式七大原则 ​ 设计模

java123456111的博客 4830

设计模式的6大基本原则

一.单一职责原则 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。 单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则,需要设计人员发现类的...

zy345293721的博客 400

设计模式的六大基本原则(开闭原则、单一职责原则、里氏替换原则、接口隔离原则、依赖倒置原则、迪米特法则)

设计模式的六大基本原则(开闭原则、单一职责原则、历史替换原则、接口隔离原则、依赖倒置原则、迪米特法则)

聂可以的博客 1万+

设计模式基本原则

文章目录设计模式基本原则1. 单一职责原则2. 开放-封闭原则3. 依赖倒转原则4. 里氏代换原则5.迪米特法则 设计模式基本原则 @author lisiwen @createTime 2019/7/9 1. 单一职责原则 单一职责原则(SRP : Single responsibility principle):就一个类而言,应该仅有一个引起它变化的原因。 ​ 单一职责中的职责我理解...

无忧少年的博客 349

设计模式六大基本原则

最近在学习设计模式,学习设计模式,必然不能离开设计模式基本原则,那么都有哪些基本原则呢?这些基本原则的内容是什么?

天道酬勤 地道酬善 人道酬诚 1671

设计模式回顾——设计模式概念与基本原则

设计模式(Design pattern),是一套被反复使用、多数人知晓的、经过分类编目的、反复验证的代码设计经验总结。

只要思想不滑坡,想法总比问题多。 864

设计模式的七大基本原则

客户端不应该依赖于它不需要的接口。一个类不应该强迫它的客户端依赖于它们不需要的方法。这要求我们要使用多个小的专门的接口,而不要使用一个大的接口。这要求我们写出的程序依赖于抽象接口,而不是具体的实现。任何一个父类出现的地方,都可以用它的子类来替代,而不会导致程序的错误或者异常。这个原则鼓励你将复杂系统分解为许多小的、相对独立的模块,模块之间的交互通过最少的接口进行。这意味着你应该通过扩展已有模块实现新的功能,而不是直接修改已有的代码。这个原则推崇对象组合和聚合的方式来构建复杂的对象系统,而不是依赖继承。

qq_38196449的博客 393

二、设计模式基本原则

设计模式基本原则 1、单一职责原则 定义:就一个类而言,应该只有一个引起该类变化的原因。 一个类只有一个职责,如果职责过多,代码就会臃肿,可读性更差,也更难以维护,主要体现面向对象的高内聚低耦合。 2、开闭原则(Open Close Principle) 定义:软件实体(类、模块、函数)应该可以扩展,但是不可修改。 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码。 3、依赖倒转原则(Dependence Inversion Principle) 定义:高层模块不

doubleintfloat的博客 1513

设计模式——类与对象设计的六大基本原则

本文介绍了设计模式中的六大基本原则:单一职责原则、开放封闭原则、子类替换父类原则、接口调用原则、类对象交互原则和接口隔离原则。通过具体代码示例,阐述了每个原则的核心思想和应用场景,旨在提高代码的可维护性和灵活性。

庄小焱 6175

设计模式的几大原则

设计模式原则,其实就是程序员在编程时,应当遵守的原则, 也是各种设计模式的基础(即: 设计模式为什么这样设计的依据)设计模式常用的六大原则有:①单一职责原则②里氏替换原则③依赖倒转(倒置)原则④接口隔离原则⑤迪米特法则⑥开闭原则什么是单一职责原则呢?

qq_45726327的博客 3214

详细介绍设计模式七大原则

单一职责原则:一个类应该只有一个引起它变化的原因。开闭原则:软件实体应对扩展开放,对修改封闭。里氏替换原则:子类型必须能够替换掉它们的基类型。依赖倒置原则:高层模块不应依赖于低层模块,两者都应依赖于抽象;抽象不应依赖于细节,细节应依赖于抽象。接口隔离原则:使用多个专门的接口比使用单一的总接口更好。合成/聚合复用原则:尽量使用对象的组合/聚合,而不是继承关系达到复用的目的。迪米特法则(最少知道原则):一个对象应对其他对象有尽可能少的了解。

m0_54187478的博客 3396

Java学习笔记之——设计模式

Java学习笔记之——设计模式 一 . 设计模式的六大基本原则 1、开闭原则(Open Close Principle) 对扩展开放,对修改关闭。在程序需要进行拓展的时候,在不修改原有的代码前提下改变其行为。 2、里氏代换原则(Liskov Substitution Principle) 任何基类可以出现的地方,子类一定可以出现。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现。 3、依赖倒转原则(Dependence Inversion Principle) 针对接口编程,依赖

qq_34857603的博客 406

设计模式的六大基本原则

写代码设计原则是指在编写代码时,遵循一些通用的指导原则,以确保代码的可读性、可维护性、可扩展性和可重用性。这些原则有助于开发人员创建出高质量的软件系统。下面我将介绍几个常见的代码设计原则,并通过C++代码例子来说明它们的应用。

笨死的猪Blog 1507
上一篇: 64位操作系统无法使用plsql sql*net not properly installed
下一篇: ORA-00018: maximum number of sessions exceeded解决方法
mysuns
博客等级 码龄19年 0粉丝 17原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值