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

四 设计模式的分类

相关推荐
Yilena1 分钟前
带你轻松学习LangChain4j
java·学习·langchain
不想写代码的星星29 分钟前
SFINAE 的演进:从替换失败不是错误,到 Concepts 的优雅
c++
是翔仔呐39 分钟前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
2401_878530211 小时前
自定义内存布局控制
开发语言·c++·算法
是翔仔呐1 小时前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
leaves falling1 小时前
C++模板初阶:让代码“复制粘贴”自动化
开发语言·c++·自动化
2301_816651222 小时前
C++模块化设计原则
开发语言·c++·算法
Yu_Lijing2 小时前
基于C++的《Head First设计模式》笔记——备忘录模式
c++·笔记·设计模式·备忘录模式
tankeven2 小时前
HJ152 取数游戏
c++·算法
汉克老师2 小时前
GESPC++三级考试语法知识(五、字符数组 )
c++·字符数组·gesp三级·gesp3级·字母大小写转换