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

四 设计模式的分类

相关推荐
小陈phd5 分钟前
Vscode LinuxC++环境配置
linux·c++·vscode
二进制_博客14 分钟前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink
火山口车神丶20 分钟前
某车企ASW面试笔试题
c++·matlab
codebolt37 分钟前
ADS学习记录
学习
是阿建吖!1 小时前
【优选算法】二分查找
c++·算法
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
Ajiang28247353043 小时前
对于C++中stack和queue的认识以及priority_queue的模拟实现
开发语言·c++
哪 吒6 小时前
最简单的设计模式,抽象工厂模式,是否属于过度设计?
设计模式·抽象工厂模式
Theodore_10226 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
‘’林花谢了春红‘’7 小时前
C++ list (链表)容器
c++·链表·list