您的位置:首页 > 财经 > 金融 > C++设计模式简介

C++设计模式简介

2025/1/4 14:15:25 来源:https://blog.csdn.net/qq_51234298/article/details/141351890  浏览:    关键词:C++设计模式简介

每一个模式都描述了重复的问题,和解决的方案,

所以就可以直接使用模式,而不是造轮子。

抽象思维:把周围的世界抽象成程序代码
如何使用面向对象的机制来表达现实世界,这是最好的。

如何解决复杂性:

  1. 分而治之
  2. 抽象(只处理理想化模型)

Show me the code:

如何分解?(伪代码、画图工具)

  1. 有point rectangle line类‘
  2. 父类有个Form,子类mainForm,取了p1,p2.划线,划矩形需要数据结构,vector。
  3. 有虚函数调用
  4. 鼠标down的时候,实现,鼠标up的时候,实现
  5. 针对直线和矩形如何画?
    在这里插入图片描述

如何抽象?

  1. shape父类有虚函数,虚析构函数。
  2. line继承于shape,重写了draw,画出了自己的line的形状
  3. rectangle也是同理
  4. 各种虚函数,各种继承。

哪种设计更好呢?
引入了客户需求的变化,圆形怎么画?

class Circle{
//点 半径 构造器
}

如果是第一种分而治之的思想,那么还得写个数据结构存circle,之后的实现也得写出来circle。针对圆形,还得具体实现。(半径、圆心等等)(很小的需求,要改的超级多)

如果是第二种做法,一样也得写一个circle类,但是可以继承于shape父类,override一下自己的draw,第二种写法不用改变只有一个数据结构vector存shape。(重用性非常好)

各负其责
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com