![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
小恐龙观铃
只是证明我学过仅此而已
展开
-
25.解析器 和总结
不要盲目追求设计模式,真正厉害的架构是不依赖于设计模式的,设计模式是人创建出来的所以。真正厉害的人不是他遵循设计模式而是设计模式遵循他。原创 2023-12-01 12:16:19 · 319 阅读 · 0 评论 -
24.访问器模式
假设你有一个游戏平台,里面有很多种类的游戏,比如免费游戏和收费游戏。这些游戏就是数据结构中的元素。如果你不使用造访者模式,那么你需要在每个游戏类中定义一个方法,来判断玩家是否可以访问这个游戏。这样会使得游戏类变得复杂,而且每当你增加一个新的玩家类型或者新的游戏类型时,你都需要修改所有的游戏类,增加新的方法。这样,当一个玩家访问一个游戏时,就会先调用游戏的接受方法,然后再调用玩家的访问方法。而且每当你增加一个新的玩家类型或者新的游戏类型时,你只需要增加一个新的玩家类或者新的游戏类,而不需要修改其他的类。原创 2023-12-01 12:14:34 · 341 阅读 · 0 评论 -
23.命令模式
比如,你在网上购物,你可以用Command模式来把付款、发货、收货等操作封装成命令对象,然后传递给商家或物流公司,让它们在完成相应的操作后执行命令对象。比如,你在电脑上编辑一个文档,你可以用Command模式来记录你的每一步操作,然后如果你想撤销或重做某些操作,就可以用命令对象来实现。比如,你在电脑上打开一个软件,你可以用Command模式来把打开软件、加载数据、显示界面等操作组合成一个命令对象,然后一次执行。比如,你在电脑上编辑一个文档,你不能用函数对象来记录你的每一步操作,也不能撤销或重做某些操作。原创 2023-12-01 12:14:01 · 346 阅读 · 0 评论 -
22.职责链模式
【代码】22.职责链模式。原创 2023-12-01 12:13:05 · 359 阅读 · 0 评论 -
21.迭代器模式
【代码】21.迭代器模式。原创 2023-12-01 12:11:25 · 337 阅读 · 0 评论 -
20.组合模式
【代码】20.组合模式。原创 2023-12-01 12:10:53 · 370 阅读 · 0 评论 -
19.备忘录模式
【代码】19.备忘录模式。原创 2023-12-01 12:09:03 · 341 阅读 · 0 评论 -
17.中介者模式
【代码】17.中介者模式。原创 2023-11-30 15:29:44 · 313 阅读 · 0 评论 -
16.适配器模式
【代码】16.适配器模式。原创 2023-11-30 15:29:01 · 306 阅读 · 0 评论 -
15.代理模式
代理类就是在调用原本功能的同时去调用一个其他的功能,而不影响原本功能的执行。这样可以实现对原本功能的增强或控制,而不需要修改原本功能的代码。原创 2023-11-30 15:28:24 · 353 阅读 · 0 评论 -
14.门面模式
【代码】14.门面模式。原创 2023-11-30 15:27:22 · 325 阅读 · 0 评论 -
13.享元模式
【代码】13.享元模式。原创 2023-11-30 15:26:44 · 335 阅读 · 0 评论 -
12.单件模式
【代码】12.单件模式。原创 2023-11-30 15:26:04 · 328 阅读 · 0 评论 -
7.桥模式
【代码】7.桥模式。原创 2023-11-30 15:19:09 · 376 阅读 · 0 评论 -
11.构造器
【代码】11.构造器。原创 2023-11-30 15:22:36 · 330 阅读 · 0 评论 -
9.抽象工厂
【代码】9.抽象工厂。原创 2023-11-30 15:21:12 · 321 阅读 · 0 评论 -
8.工厂方法
让创建对象的那个位置去依赖一个抽象的类,而不是确实的类,不应该直接new,而是使用多态来new,看代码。原创 2023-11-30 15:19:47 · 351 阅读 · 0 评论 -
4.装饰模式
【代码】4.装饰模式。原创 2023-11-30 15:18:31 · 303 阅读 · 0 评论 -
5.观察者模式
【代码】5.观察者模式。原创 2023-11-30 15:17:59 · 322 阅读 · 0 评论 -
2.策略模式
这个方法就是定义一个算法的基类,用子类去实现算法的具体,定义一个操控他们的类,在里面维护一个他们的父类传入他们的指针,然后在一个方法中去调用他们对应的算法,根据C++的多态性就会去掉用他们的具体实现,这种方法好在当需要增加一个新的算法时可以不用去更改原先的代码而是增加代码。策略模式是一种行为型设计模式,它将一组行为或算法封装成不同的类,让它们可以相互替换,以适应不同的情况。当看到if else...的时候应该想想需不需要这个策略模式。面对未来的变化应该是增加新代码,而不是改变原先的代码。原创 2023-11-30 15:17:30 · 359 阅读 · 0 评论 -
1.设计模式介绍
针对接口变成,而不是针对实现编程(8)Liskov替换原则(LSP)(4)优先使用对象组合,而不是类继承(6)开放封闭原则(OCP)(2)单一职责原则(SRP)(3)接口隔离原则(ISP)(5)面向对象设计原则(1)依赖倒置原则(DIP)一.深入理解面向对象。原创 2023-11-30 15:14:20 · 1062 阅读 · 0 评论