![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
MR崔建超
这个作者很懒,什么都没留下…
展开
-
【设计模式】 观察者模式
观察者模式:当多个对象需要根据同一种状态的改变而同时做出改变,这个时候需要使用观察者模式,其实也就是C#中的委托和事件优点:1.低耦合性各个观察者不需要依赖具体的Subject,Subject也不需要关注具体订阅者2.同步及高效当多个对象需要根据另外一个对象的状态改变而改变的时候,如果使用循环检测,则会消耗大量资源;而观察者模式是只有在改变的时候会通知一次。#pragma once#include <iostream>#include <string&原创 2021-08-09 11:53:49 · 76 阅读 · 0 评论 -
【设计模式】 策略模式
策略模式优点:1.低耦合性把各种复杂的策略,规则,或者业务给封装在策略管理器中,客户端只需要做出选择,而不用关心具体策略的初始化和创建是如何完成的,调用策略也只是调用策略管理器,不会具体关心具体策略如何运作。缺点:和简单工厂模式一样,违背了开放-封闭原则,增加新策略需要去修改策略管理类策略模式和简单工厂模式的区别:简单工厂在于创建一个实例类,如何使用实例交由客户端决定。策略模式是用于封装策略,客户端并不关心如何组合策略,只关心选择#pragma once#include原创 2021-08-09 11:07:41 · 58 阅读 · 0 评论 -
【设计模式】工厂模式和抽象工厂
工厂模式在于把各个具体产品的创建延迟到每个具体的工厂来负责创建和初始化在客户端的修改只需要改动具体用哪种工厂就可以,其他关注的都是抽象类工厂模式的优点:1.低耦合性把各个具体产品的创建延迟到每个具体的工厂来负责创建和初始化2.更符合开放-封闭原则对于修改,只需要在自己的类中修改;对于扩展,只需要新增工厂类、产品类缺点:类的大量增加抽象工厂:即抽象工厂关联抽象类,客户端所能涉及到的全是抽象接口#pragma once#include <iostream>#..原创 2021-08-09 10:46:00 · 64 阅读 · 0 评论 -
【设计模式】简单工厂模式
简单工程模式,用于创建对象实例;隐藏了具体的类,只返回抽象的父类。这里用到了 里氏转换原则优点:1.降低耦合性隐藏了具体实现类,只需要关注抽象类缺点:创建类违背了开放-封闭原则class Project{public: Project() { cout << "Project Coustruction" << endl; } virtual void DoSomething() { cout << "Project DoSome原创 2021-08-09 10:43:22 · 72 阅读 · 0 评论