设计模式
小尘只想脱贫
这个作者很懒,什么都没留下…
展开
-
【设计模式5】代理模式cpp
结构型模式:类和类的组合获取更大的结构。代理模式(Proxy模式) 结构型模式之一,可以为其他对象提供一种代理以控制对这个对象的访问。代理是指具有与代理元(被代理的对象)具有相同接口的类,客户端必须通过代理与被代理的目标类交互。当一个对象不适合或者不能直接引用另一个对象的时候,利用代理对象作为中介完成。应用:1、远程代理,一个对象在不同地址空间提供局部代表,WebService调用代理实现远程访问。2、虚拟代理,对实例化开销很大的对象通过代理存放优化,如HTML的未打开图片框,存储路径和尺寸调原创 2021-10-02 22:42:01 · 204 阅读 · 0 评论 -
【设计模式4】装饰模式
装饰模式又叫包装模式,用继承实现类的功能拓展,可以动态给一个类增加功能。把附加的功能放到单独的类中。类中的装饰功能从类中搬移去除,可以简化原有类,将核心职责和装饰功能区分来,去除重复的装饰逻辑。适用:当新加入的东西仅仅为了满足一些只有特定情况下才会执行的特殊行为,而且需要有选择地,有顺序的使用装饰功能包装对象。顺便体现了一下类的构造析构函数顺序 继承删除父类成员指针这块还没太理解 回头再看下内存泄露方面的东西具体英雄继承抽象英雄类,抽象武器继承抽象英雄类,具体武器继承抽象武器。创建具体英雄类实例,抽原创 2021-10-01 22:39:18 · 100 阅读 · 0 评论 -
【设计模式3】策略模式
策略模式:定义算法家族并分别封装起来,让它们之间可以互相替换,算法的变化不会影响使用的客户。简化单元测试在不同时间对应不同的业务规则,可以考虑策略模式处理这种变化的可能性。单纯的策略模式需要客户端去知道每个策略的类名,可以和简单工厂模式结合进行隐藏。/*2021.09.29 策略模式(Strategy)策略模式:定义算法家族并分别封装起来,让它们之间可以互相替换,算法的变化不会影响使用的客户。*/#include <iostream>using namespace std;原创 2021-09-29 19:55:05 · 77 阅读 · 0 评论 -
【设计模式2】简单工厂类
简单工厂模式创建工厂类,通过传入参数,让工厂知道应该创建什么对象。优点:1、客户端与具体实现类解耦。2、不需要考虑某些类创建过程比较复杂情况。缺点:1、增加新功能需要修改源代码,不符合开闭原则。2、工厂类职责过重,出现问题影响整个模块。注意简单工厂类的创建对象的函数为静态成员函数,与类本身绑定,即不需要实例化工厂类生成工厂类对象就可以创建底下对应的类对象。UML类图大概是 工厂类依赖于抽象类,实现类继承抽象类(偷懒不贴图了)#include <iostream>using原创 2021-09-23 23:16:55 · 115 阅读 · 0 评论 -
【设计模式1】UML用例图、类图+软件建模原则
软件建模作用、代码设计原则、UML建模语言(用例图和类图)原创 2021-09-22 20:55:18 · 404 阅读 · 0 评论