![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 75
用C++实现整理设计模式
星星典典
认真学习,脚踏实地写博文。欢迎大家的交流指教
展开
-
设计模式-外观模式C++
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。我们可以将这个类看作是复杂系统的外观,对客户端提供调用系统实现某种功能的接口,而如何调用(对系统接口的调用顺序和调用依赖)不对客户端展示,由外观类自己处理。我们知道新生入学是十分麻烦的事情,需要办理各种手续,甚至可以让学生和家长忙碌一整天原创 2022-07-13 22:52:17 · 180 阅读 · 0 评论 -
设计模式-组合模式C++
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 上图中的对象组:红色的对象是包含其他的对象组的对象,在树状结构中,为非叶子节点黑色的对象是不再包含其他对象组的对象,在树状结构中,为叶子节点组合模式创建了一个可以包含自己对象组的类。该类提供了修改或查询相同对象组的方式。上述描述可能比较抽象, 我们使用生活中的一个例子说明:(可以结合原创 2022-07-08 22:31:01 · 395 阅读 · 0 评论 -
设计模式-过滤器模式C++
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。假如某地政府为了帮助无业人员就业,统计了一批36岁市民的就业情况。政府拿到名单后,过滤出无业人员帮助就业。为了完成这个项目,我们需要建造:1)人员信息类 Person;2)标准抽象类 Criteria,提供按照某标准过滤的接口 meetCriteria;原创 2022-07-03 22:21:13 · 708 阅读 · 0 评论 -
设计模式-原型模式C++
原型模式可以用于创建重复的对象,同时又能保证性能。原型模式是一种创建型模式,提供一种创建对象的最佳方式。原创 2022-06-28 21:58:33 · 244 阅读 · 0 评论 -
设计模式-建造者模式C++
一、简介建造者模式的基本思想是使用简单对象一步步构建一个复杂的对象。属于创建型模式。原创 2022-06-21 22:42:42 · 328 阅读 · 0 评论 -
设计模式-桥接模式 C++
一、简介1、什么是桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。2、使用桥接模式解决什么问题声明抽象类和抽象类的实现类,使用桥接模式使二者直接都可以独立变化,达到解耦的目的。...原创 2022-04-22 16:36:13 · 595 阅读 · 0 评论 -
设计模式-装饰器模式 C++
一、简介1、什么是装饰器模式装饰器模式是结构型设计模式。装饰器是现有类的一个包装,可以在不修改现有类且不增加子类的情况下扩展现有类。【注】可以实现向一个现有对象添加新的功能,同时又不改变其结构的设计模式,称为结构型模式。2、为什么使用装饰器模式装饰器模式用于需要对现有类进行扩展的场景。一般情况下,我们想要扩展现有类还可以声明它的子类,即使用继承的特性达到目的。但是如果我们经常使用增加子类的方法扩展现有类,会造成子类的臃肿膨胀。...原创 2022-04-21 17:10:11 · 1190 阅读 · 0 评论 -
设计模式-工厂模式 C++
工厂模式属于一种创建型模式,它提供一种创建对象的最佳方式,对外不暴露对象的创建模式,并且通过一个共同的接口获取对象指针。原创 2022-03-31 21:37:41 · 495 阅读 · 0 评论 -
设计模式-单例模式 C++
一、简介单例模式属于创建型模式,它提供一种创建对象的最佳方式。单例模式的类,存在以下特点:1、该类自己创建自己唯一的实例;2、该类对外提供访问唯一实例的接口;那么单例模式在什么场景适用,能够解决什么问题呢?如果一个类的实例需要全局使用,并且不需要多个实例的时候,我们就需要为这个类使用单例模式。单例模式可以避免频繁地创建和销毁类对象,并且由于只有单实例,可以减少系统内存的使用。这些都是减少系统资源浪费,增加系统稳定性的优势。二、怎么创建单例模式的类首先,根据单例模式的特点,原创 2022-04-01 16:48:50 · 904 阅读 · 0 评论 -
设计模式-代理模式 C++
一、简介代理模式属于结构型模式。代理模式中,一个类代表另一个类的功能。我们需要创建现有对象的对象,用于对外提供功能接口。为什么要创建现有对象的对象?为了限制对某些对象进行访问控制...原创 2022-04-02 17:26:04 · 1379 阅读 · 0 评论 -
设计模式-观察者模式 C++
一、简介观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。二、建立和使用观察者模式1、建立观察者组件首先,我们有一个被观察的对象A,和观察对象A的观察者对象B、C、D。则我们需要1)、声明一个抽象观察者类,类中声明观察者响应函数;2)、被观察对象A需要一个成员数据,观察者对象的指针列表_observer原创 2022-04-08 15:35:33 · 898 阅读 · 0 评论 -
设计模式-适配器模式 C++
一、简介1、什么是适配器模式适配器模式属于结构型模式。适配器作为两个接口之间的桥梁,用于适配两个不兼容的两个接口。适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2、适配器模式用于解决什么问题在工程中,可能要将现存的类A放到新的环境中,而新环境要求的接口B是现对象不能满足的。我们在无法改变A和B的情况下可以增加一个适配器类C,C调用现存的类对象A实现B的某些功能。达到用A实现了B的接口的效果。4、使用适配器模式的注意原创 2022-04-20 15:05:57 · 647 阅读 · 0 评论