C++11 设计模式0. 设计模式的基本概念,设计模式的准则,如何学习设计模式,24种设计模式的分为3大类

一 设计模式的基本概念:

模式:指事物的标准样式 或者 理解成 针对特定问题的可重用解决方案。

设计模式,是在特定问题发生时的可重用解决方案。

设计模式一般用于大型项目中。

大型项目中,设计模式保证所设计的模块之间代码的灵活性和可复用性

但是设计模式 : 都需要以增加代码的复杂性为代价。

二 设计模式的准则

2.1 抽象思维:将整个代码中不变的部分抽取出来,切断两个模块之前的耦合。

a. 能从事物中抽取出或者说提炼出一些本质的,共性的内容,把这些共性的内容组合到一起(封装)。下面两种解决问题复杂性的方法可以借鉴:

(1)分解法:把一个复杂的事物分解成若干个比较简单的事物。这样人们更容易理解。

(2)抽象法:从每个简单的十五中,抽象出本质的内容封装起来:

b)抽象思维的目的:

//设计原则:减少代码的重复性,方便代码的扩展性(日后增加新动物品种)

//做抽象的原则:把比较稳定的,不怎么变化的内容作为一个模块,单独定义出来。

c)抽象思维的检验:

//如何检验某种抽象是否做的不错呢?

//c.1)项目需求如果发生更改,不更改现有的代码,通过增加新代码应对需求变更。

//继承特性,一般用于表达两种意思:(1)抽象机制:抽取出本质的、共性的内容放到基类中;(2)可重用机制:基类中的一些内容,直接拿过来使用。

//c.2)类中内容太多时,就要对类进行拆分,不要把毫不相关的内容写到一个类中。

//面向对象程序设计原则之一:单一职责原则------一个类只干好一件事,承担好一种责任,不然就会牵扯太多。

2.2灵活性:

1.修改现有的部分,不会影响到其他部分的内容

2.新增新内容时,尽量少修改,或者不需要改动系统现有的内容

2.3可复用性

可复用:可以重复使用,可以到处用(可以被很多地方调用);

三 学习设计模式的步骤和方法:

//a)掌握设计模式的基本概念和该设计模式要解决的具体问题。

//b)动手实际编写相关的测试代码并进一步体验该模式的工作过程。一定不要略过这步。

//c)编码过程中不断思考和总结设计经验,对于设计不合理的部分及时调整和更改。

//d)在实际的项目中,细致大胆的采用设计模式进行实战,尤其注意多个设计模式解决问题时模式之间的关联和配合,不要怕出错。

四 设计模式的分类

相关推荐
cuisidong199720 分钟前
5G学习笔记三之物理层、数据链路层、RRC层协议
笔记·学习·5g
南宫理的日知录28 分钟前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习
van叶~1 小时前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
金池尽干1 小时前
设计模式之——观察者模式
观察者模式·设计模式
knighthood20011 小时前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
也无晴也无风雨1 小时前
代码中的设计模式-策略模式
设计模式·bash·策略模式
数据与后端架构提升之路1 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
半盏茶香1 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
一行12 小时前
电脑蓝屏debug学习
学习·电脑
小堇不是码农2 小时前
在VScode中配置C_C++环境
c语言·c++·vscode