当前位置: 首页 > news >正文

C++设计模式|0.前言

1.什么是设计模式?

简答来说,设计模式就是一套好用的代码经验总结,也就是怎么写好代码的方法论。使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性。

2.设计模式的分类

设计模式可以分为三类:创建型、结构型和行为型。

创建型模式:主要用于创建对象。
结构型模式:主要用于处理类和对象的组合。
行为型模式:主要用于描述类或对象如何交互和怎样分配职责。

3.设计模式具体有哪些?

设计模式一共包含23种,具体类型如下。各模式的具体情况可以看这篇博文设计模式总结。

4.使用设计模式的目的

提高代码的复用性、可扩展性、灵活性,使程序能够高复用低耦合。

5.软件设计的七大原则

开闭原则的定义:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。
依赖倒置原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。
单一职责原则:规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。
接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。
合成复用原则:要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

http://www.lryc.cn/news/337488.html

相关文章:

  • [蓝桥杯] 岛屿个数(C语言)
  • Apache Storm的详细配置
  • kylin v10 php源码安装后配置nginx
  • 【01背包】滚动数组优化实现一维01背包DP(对比朴素写法)
  • 深度学习500问——Chapter07:生成对抗网络(GAN)(2)
  • A13 STM32_HAL库函数 之 HAL-ETH通用驱动 -- B -- 所有函数的介绍及使用
  • Qotom Q720G5英特尔赛扬处理器N4000高性价比无风扇迷你电脑5网口软路由防火墙
  • 如何了解数字化和信息化的区别?
  • CTF-SHOW SSRF
  • 客户端传日期格式字段(String),服务端接口使用java.util.Date类型接收报错问题
  • 【Python面试题收录】什么是堆?什么是栈?栈和堆的区别是什么?
  • 5-云原生监控体系-Grafana-使用配置文件实现自动化导入Dashboard
  • Ollama、FastGPT大模型RAG结合使用案例
  • 夯实智慧新能源数据底座,TiDB Serverless 在 Sandisolar+ 的应用实践
  • MySQL数据库max_allowed_packet参数
  • Day98:云上攻防-云原生篇K8s安全Config泄漏Etcd存储Dashboard鉴权Proxy暴露
  • JUC下面常见的锁
  • Uniapp+基于百度智能云完成AI视觉功能(附前端思路)
  • Android 软件盘的弹出和消失的监听
  • 通俗易懂HTTP和HTTPS区别
  • 【ZZULIOJ】1061: 顺序输出各位数字(Java)
  • java数据结构与算法刷题-----LeetCode260. 只出现一次的数字 III
  • AWS被误扣费了,怎么解决?
  • 再传IPO消息,SHEIN的上市为何充满变数?
  • maven bom
  • 若依vue中关于字典的使用
  • 链表题(哑结点的使用)
  • C#:求三个整数的最大值
  • 广州南沙番禺联想SR530服务器主板传感器故障维修
  • 深入探索自然语言处理:用Python和BERT构建文本分类模型