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

四 设计模式的分类

相关推荐
灵韵设计8 分钟前
学习笔记——动态路由——IS-IS中间系统到中间系统(区域划分)
笔记·学习·is-is区域划分·is-is和ospf区域区别
paidaxing_s36 分钟前
【FFMPEG基础(一)】解码源码
linux·c++·ffmpeg
蛔虫在他乡44 分钟前
从零开始的python学习生活1
python·学习·生活
曼巴UE51 小时前
UE C++ 多镜头设置缩放 平移
开发语言·c++
悄悄敲敲敲1 小时前
栈的实现详解
c语言·开发语言·数据结构·c++·算法·链表·线性回归
danaaaa1 小时前
算法力扣刷题总结篇 ——【四】
数据结构·c++·算法·leetcode·职场和发展
安於宿命1 小时前
0/1背包问题总结
c语言·c++·算法·leetcode·动态规划
tutu_3212 小时前
ubuntu rc.local开机自启动
c++
想要打 Acm 的小周同学呀2 小时前
ThreadLocal学习
android·java·学习
森龙安3 小时前
指针 || 引用 || const || 智能指针 || 动态内存
c++