设计模式
文章平均质量分 63
进击の小黑
一个小混子
展开
-
设计模式之命令模式(C++)
命令模式概述:命令模式是一种行为型模式,通过将命令本身封装为一个个具体的对象,以实现命令发送者和命令执行者的解耦,发送命令的对象只需要知道如何发送而不必知道命令是如何被完成的,调用关系更加灵活。应用场景:(1)当功能需要支持“可撤销”和“恢复撤销”操作时。(2)当系统需要将命令发起者和命令执行者解耦,使得两者不直接交互时。(3)当需要设计一组命令,并且命令之间可以相互组合时。场景模拟:在空白画板上绘制各种图形(圆、三角形、矩形、直线),每种图形可重复绘制,并且系统支持已绘制图形的撤销。UML类图原创 2021-04-16 11:34:37 · 390 阅读 · 0 评论 -
设计模式之工厂模式(C++)
设计模式的一条重要原则是:在系统中引入新功能时,千万别去修改老代码,只去添加新代码即可!===================================================================一、工厂模式概述:工厂工厂,顾名思义就是负责加工生产的方法,工厂模式属于“创建型设计模式”,他提供了一种创建对象的方式,不会对客户端暴露创建对象的逻辑,并且使用抽象工厂提供的公共接口来完成对象的创建,一句话概况就是工厂模式封装了不同对象的创建过程。二、应用场景:如果我们只有一个类c原创 2021-04-14 17:30:04 · 849 阅读 · 0 评论 -
设计模式之装饰模式(C++)
待定原创 2021-04-13 20:25:47 · 1786 阅读 · 2 评论 -
设计模式之策略模式(C++实现)
应用场景:如果一个业务功能中同时包含了多种相似的算法,而且每次都需要动态地去选择其中一种算法来执行。为了减少各种算法类与算法调度类之间的耦合度,建议使用“策略模式”!实战案列:MPC中的点云转栅格功能,就是根据点云的强度值或者高程或者RGB颜色来生成栅格,这其中就对应了3种栅格生成算法。UML类图:策略模式的C++实现:步骤1:抽象算法类AbstractStrategy与3种具体算法类#pragma once#include <iostream>// 定义A、B、C三种算法的枚举原创 2021-04-08 11:47:04 · 303 阅读 · 0 评论