![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++设计模式
文章平均质量分 84
毕加索来喽
这个作者很懒,什么都没留下…
展开
-
5.C++设计模式-行为型模型
5.C++设计模式-行为型模型用来对类或对象怎样交互和怎样分配职责进行描述。5.1 模板方法模式5.1.1 模板方法的理论 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。5.1.2 模板方法的案例#include <iostream>using namespace std;class DrinkTemplate {public: //注水 virtual void Boildwate原创 2021-08-29 22:17:34 · 1706 阅读 · 1 评论 -
4.C++设计模式-结构型模型
4.C++设计模式-结构型模型让类和类进行组合,获得更大的结构。4.1 代理模式4.1.1 代理模式的理论代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。举例:比如这里面服务器B的test可能还没写好,A访问不了,先访问代理类,写好了代替再代替访问4.1.2 代理模式的案例传统方法局限:是个人都能调用#include <iostream>usin原创 2021-08-27 17:43:47 · 1647 阅读 · 0 评论 -
3.C++设计模式-创建型模型
3.C++设计模式-工厂模式3.1 简单工厂模式3.1.1 理论3.1.2 简单工厂模式案例不难看出,Fruit类是一个“巨大的”类,在该类的设计中存在如下几个问题:(1) 在Fruit类中包含很多“if…else…”代码块,整个类的代码相当冗长,代码越长,阅读难度、维护难度和测试难度也越大;而且大量条件语句的存在还将影响系统的性能,程序在执行过程中需要做大量的条件判断。(2) Fruit类的职责过重,它负责初始化和显示所有的水果对象,将各种水果对象的初始化代码和显示代码集中在一个类中实现原创 2021-08-26 19:21:31 · 3043 阅读 · 5 评论 -
2.C++设计模式-面向对象原则
2.面向对象设计原则2.1 开闭原则开闭原则:类的改动是通过增加代码进行的,而不是修改源代码。#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;//开闭原则,对扩展开放,对修改关闭,增加功能是通过增加代码来实现,而不是去修改源代码//写一个抽象类class AbstractCaculator {public: virtual int getResult() = 0; virt原创 2021-08-26 19:15:44 · 2602 阅读 · 0 评论