logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++设计模式_结构型模式_外观模式Facade

本文记录外观模式。外观模式(Facade)又称为门面模式,是最简单的模式。该模式的作用是用来隔离接口,就是扮演中间层的角色,把结合紧密的两部分分割开,让这两部分内容通过中间层来打交道,类似于依赖倒置原则,高层和底层依赖于抽象层。从而极大的降低了两部分的耦合性。

文章图片
#c++#设计模式#外观模式
C++设计模式_结构型模式_享元模式Flyweight

运用共享技术有效地支持大量细粒度的对象(的复用)。**内部状态:**存储在享元对象内部,一直不会发生改变的状态。这种状态可以被共享。**外部状态:**随着外部环境和各种动作因素的改变而发生改变的状态,这种状态不可以被共享。**享元模式的目的:**减少对象数量,节省内存,提高程序运行效率。享元模式的三种角色:1 抽象享元类:ChesePiece类,通常是一个接口或者抽象类。2 具体享元类:抽象享元类

文章图片
#c++#设计模式#享元模式
C++设计模式_行为型模式_责任链模式Chain of Responsibility

行为型模式,这些模式关注对象之间的通信和交互,旨在解决对象之间的责任分配和算法的封装。共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。职责链模式也叫做责任链模式,是一种行为型模式,用于将一个请求传递给一个链中的若干对象,哪个对象适合处理这个请求就让哪个对象来处理。

文章图片
#c++#设计模式#责任链模式
C++设计模式_行为型模式_命令模式Command

UML的五种角色,1 Receive 接受者类:知道如何实施与执行官一个请求相关的操作,这里指Cook相关的类,提供了对请求的业务进行处理的接口。2 Invoke调用者类。请求的发送者,通过命令对象来执行请求,这里指Waiter类,该类只与抽象命令类Command之间存在关联关系。3 Command类,声明执行操作的接口。这里指的是Command类,在其中声明了用于执行请求的Execute方法,用

文章图片
#c++#设计模式#命令模式
C++设计模式_结构型模式_代理模式Proxy

if (!fin)cout << "文件打开失败" << endl;while (getline(fin, lineBuf)) // 遇到EOF结束,每次读取一行if (!打开文件,使用ifstream对象;判断对象是否有效,!fin;使用getline方法读取一行,放入lineBuf中;getline(fin,lineBuf)读取一行。在使用getline()时要和while()一起使用,遇到E

文章图片
#c++#设计模式#代理模式
C++设计模式_行为型模式_迭代器模式Iterator

单一职责原则定义:一个类应该只有一个引起变化的原因,通俗来讲,就是一个类的职责应该单一,应该只做一类事情或者对外提供一种功能。例如,上边的列子中,如果将vector的容器和迭代器都放在一个类中实现,如果在从头到尾 遍历基础上,再次增加从尾到头的遍历,就会非常不便。反之,如果将迭代器和容器分离实现,那么在迭代器中增加从尾部到头的遍历就不会影响到容器,这样的设计方式提高了程序的可维护性。

文章图片
#c++#设计模式#迭代器模式
C++设计模式_行为型模式_中介者模式Mediator

本文记录中介者模式。中介者(Mediator)模式还有一个名字叫作调停者模式,是一种行为型模式。

文章图片
#c++#设计模式#中介者模式
    共 115 条
  • 1
  • 2
  • 3
  • 12
  • 请选择