大话设计模式C++代码记录
文章平均质量分 53
橘子味的茶二
我像一粒尘埃
展开
-
设计模式 --6组合模式
在Component里面不去声明Add 和 Remove方法 这样子类Left不需要去实现,而是在Composite声明所有用来管理子类对象的方法 这样做就不会遇到刚才遇到的问题 但是由于不够透明 所以树枝类将不具有相同的接口 客户端的调用需要做判断。需求中体现部分和整体层次的结构的时候 希望用户可以忽略组合对象和单个对象的不同,统一地使用组合结构中的所有对象时 ,就应该考虑使用组合模式了。组合对象又可以被组合 这样不断地柜下去 客户代码 任何用到基本对象的地方都可以使用组合对象。原创 2024-04-30 16:49:32 · 776 阅读 · 0 评论 -
设计模式 --5观察者模式
2:具体的观察者将自己具体的动作也同时注册到 通知类里面 改变通知类里面的容器为map容器类 key为具体的观察者 value为具体的处理函数。1:具体的观察者实现具体的 自己需要完成的任务 在继承抽象Observer后 在update内部直接调用具体的方式。可以使用两种方式去解决此类问题。原创 2024-04-05 13:00:03 · 587 阅读 · 0 评论 -
设计模式 --4:工厂方法模式
定义一个用于创建对象的接口。让子类决定实例化那一个类。工厂方法是一个类的实例化延迟到其子类原来的简单工厂模式就可以写成下面的架构:以后修改代码的时候 也不用去修改原来的工厂类 而是直接去声明其子类(具体的工厂) 新的添加不会影响其他的子类修改后的代码#include // 引入智能指针的头文件// 操作基类public:// 纯虚函数,强制派生类实现NumsA = A;NumsB = B;原创 2024-03-22 17:18:44 · 670 阅读 · 0 评论 -
设计模式 --3:装扮模式
装饰模式 就是为已有功能添加更多功能的一种方式当我们需要新的功能的时候 如果要往最开始的功能类里面添加新的功能 无疑会给原来的主类增加复杂度 而装饰模式会给每一个需要装饰功能单独设置一个类 我们需要那些类就去装载那些类因此更方便的添加和删除功能 而不用去修改主类代码 把类中的装饰功能移除出去 可以简化原有的类但是需要注意装饰的顺序问题 最理想的是保持类的相互独立 比如把每一个装饰的地方划分一个功能 上衣 裤子 鞋 之类的 让这些装饰类同时只能有一个单独的功能(西装上衣 体恤上衣 或者 卫衣)原创 2024-03-17 11:08:23 · 343 阅读 · 0 评论 -
设计模式 -- 2:策略模式
策略模式和简单工厂模式很像区别在于 简单工厂模式 需求的是由工程创造的类 去给客户直接答案而策略模式在于 我有主体 一个主体 根据策略的不同来进行不同的计算 我的主体就负责收钱 然后调度相关策略。原创 2024-03-13 10:12:55 · 580 阅读 · 0 评论 -
大话设计模式 :UML类图 原版部分
+’ 表示public‘-’ 表示private‘#’表示protected棒棒糖表示法 类内实现的接口 用棒棒糖的形状在外部具体实现。原创 2024-03-12 23:22:15 · 259 阅读 · 0 评论 -
设计模式 -- 1:简单工厂模式
设计模式的代码注意要运用到面向对象的思想 考虑到紧耦合和松耦合。把具体的操作类分开 不让其互相影响(注意这点)原创 2024-03-12 22:57:05 · 846 阅读 · 0 评论