c++ 设计模式
文章平均质量分 78
c++常用设计模式
每木昔月
这个作者很懒,什么都没留下…
展开
-
c++ 建造者模式
一、建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建模式之一,用来隐藏复合对象的创建过程。他把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。对象的创建:Builder模式是为了对象的创建而设计的模式-创建的是一个复合对象,被创建的对象为一个具有复合属性的复合对象,关注对象创建的各个部分的创建过程,不同工厂(Builder)对产品属性有不同的创建方法。Builder:为创建产品各个部原创 2021-05-31 17:57:17 · 2985 阅读 · 2 评论 -
c++ 观察者模式(发布—通知)
转载:https://www.cnblogs.com/carsonzhu/p/5770253.html一、观察者模式Observer 模式应该可以说是应用最多、影响最广的模式之一,因为 Observer 的一个实例 Model/View/Control( MVC) 结构在系统开发架构设计中有着很重要的地位和意义, MVC实现了业务逻辑和表示层的解耦。在 MFC 中, Doc/View(文档视图结构)提供了实现 MVC 的框架结构。在 Java 阵容中, Struts 则提供和 MFC 中 Doc/Vie转载 2021-05-28 11:15:48 · 918 阅读 · 0 评论 -
c++ 策略模式
一、定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。1.1 角色:抽象策略角色(Strategy): 抽象策略类。具体策略角色(ConcreteStrategy):封装了继续相关的算法和行为。环境角色(Context):持有一个策略类的引用,最终给客户端调用。1.2 UML图:二、示例2.1 项目结构2.2 .h .cpp文件myStrategy.h注:里面的具体策略角色,可以单独写成一个类文件。原创 2021-05-25 11:36:49 · 2749 阅读 · 0 评论 -
c++ 简单工厂模式 示例
一、示例结构二、示例代码cat.h#pragma once#include "productBase.h"class cat : public productBase{public: cat(); ~cat(); virtual void printProductInfo(); virtual void printEatFood(); void catVoice();};dog.h#pragma once#include "productBase.h"class原创 2021-05-21 11:55:04 · 497 阅读 · 0 评论 -
单例模式(懒汉单例和饿汉单例)
转载于:http://www.manongjc.com/article/53899.html==单例模式就是指一个类在整个程序中只有一个实例。==确保一些不需要重复创建的类创建多余的实例。特别是某些工具类,在所有地方使用该类都只需要一个实例。基本思路就是在单例类内部创建一个静态的自身对象,并自己管理自己。下面代码用锤子Hammer来表示这个工具,简单的实现如下1、懒汉模式懒汉模式就是指铁匠是个懒汉,这个锤子类的实例在没人用的时候,铁匠不去造它,这样做能节约铁匠铺的空间。#include <转载 2020-08-13 16:44:05 · 2367 阅读 · 2 评论 -
设计模式:面向对象设计的六大原则
原文链接:https://www.cnblogs.com/yeya/p/10655760.html六大原则单一职责原则——SRP开闭原则——OCP里式替换原则——LSP依赖倒置原则——DIP接口隔离原则——ISP迪米特原则——LOD1. 单一职责原则单一职责原则,Single Responsibility Principle,简称SRP。其定义是应该有且仅有一个类引起类的变更,这话的意思就是一个类只担负一个职责。举个例子,在创业公司里,由于人力成本控制和流程不够规范的原因,往往一个人需要转载 2020-06-28 17:31:59 · 275 阅读 · 0 评论