![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
jadeshu
这个作者很懒,什么都没留下…
展开
-
设计模式总结
名称 中文名称 意图 创建型模式 Abstract Factory 抽象工厂 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。(别名:Kit) Builder 生成器 ...原创 2020-04-08 23:11:12 · 121 阅读 · 0 评论 -
状态模式
状态模式概述 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。适用性 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。 2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。 这个状态通常用一个或多个枚举常量表示。 通常,有多个...原创 2020-04-13 21:23:27 · 241 阅读 · 0 评论 -
模板方法模式
定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不 改变一个算法的接口即可重定义改算法的某些特定步骤。实例#include <iostream>using namespace std;class Base{public: Base(/* args */) {} virtual ~Base() {}...原创 2020-04-08 23:58:34 · 487 阅读 · 0 评论 -
策略模式
C++设计模式全篇含有许多条件判断语句的代码通常都需要Strategy模式!!!如果Strategy对象没有实例变量,那么上下文可以共享同一个Strategy对象,可以节省对象开销!#include <iostream>using namespace std;class strategy{public:virtual void Algorithm...原创 2014-03-14 21:47:18 · 418 阅读 · 0 评论 -
观察者模式
C++代码:#include <string>#include <iostream>#include <list>using namespace std;// 观察者模式// 观察者class Observer{public: virtual void Update(int value) = 0;};// 目标者clas...原创 2019-01-21 19:58:33 · 247 阅读 · 0 评论 -
代理模式
概述 为其他对象提供一种代理以控制对这个对象的访问。适用性 1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。 2.虚代理(VirtualProxy)根据需要创建开销很大的对象。 3.保护代理(ProtectionProxy)控制对原始对象的访问。 4.智能指引(SmartReference)取代了简单的指针...原创 2020-04-13 21:52:44 · 134 阅读 · 0 评论 -
组合模式
适用于:单个对象和组合对象的使用具有一致性,将对象组合成树形结构以表示“部分-整体”。Component(树形结构的节点抽象)---为所有的对象定义统一的接口(公共属性,行为等定义)---提供管理子节点对象的接口方法---【可选】提供管理父节点对象的接口方法Leaf(树形结构的叶节点)Component的实现子类Composite(树形结构的支节点)Componen...原创 2020-04-06 22:47:29 · 147 阅读 · 0 评论 -
适配器模式
适配器模式实例:将220V电压转换为36V电压,中间加了适配器即可// 适配器模式// 将220V电压转换为36V电压实例#include <iostream>using namespace std;// 需要转换的对象class CPower220 {public: CPower220(/* args */) {} virtual ~CPower2...原创 2020-04-07 21:35:40 · 162 阅读 · 0 评论 -
原型模式
C++代码#include <iostream>using namespace std;class CPrototype {public: virtual CPrototype* Clone() = 0; virtual ~CPrototype(){}};class CPtypeA : public CPrototype {public: CPtype...原创 2020-04-06 01:51:37 · 164 阅读 · 0 评论 -
抽象工厂模式
工厂模式:只能生产一个产品(单一产品,具体什么工厂就生产什么产品)https://blog.csdn.net/jadeshu/article/details/23215933抽象工厂:可以生产一个产品族(里面有很多产品组成)1.C++代码:#include <string>#include <iostream>using namespa...原创 2019-01-21 17:57:42 · 143 阅读 · 0 评论 -
工厂方法模式
工厂模式:只能生产一个产品(单一产品,具体什么工厂就生产什么产品) 下面例子中就是A工厂生产具体A产品,B工厂生产具体B产品!C++代码:#include <iostream>using namespace std;// 工厂方法模式案例// ---1.工厂方法只能生产单一产品// ---2.具体产品工厂生产具体产品//产品抽象类class Produ...原创 2014-04-08 22:46:43 · 550 阅读 · 0 评论 -
简单工厂模式
#include <iostream>using namespace std;//具体产品类型typedef enum _ProductType{ ProductTypeA, ProductTypeB}ProductType;//产品抽象类class Product{public: virtual ~Product(){}; virtual voi...原创 2014-04-08 19:58:46 · 508 阅读 · 0 评论 -
单例模式--- 声明周期托管方式
声明周期托管方式,IOCJAVA代码MyManager.javaimport java.util.HashMap;/** * 为了管理对象的产生 * 对象的控制权给当前类负责 * 生命周期托管实现对象的单例 * IOC控制反转 */public class MyManager { // 存储所有被管理的对象 private static HashMap...原创 2019-09-04 23:00:24 · 338 阅读 · 0 评论 -
单例模式---懒汉式
Java代码:class Sign{ private static Sign s; //不初始化 //私有化构造器 private Sign(){} //线程安全synchronized //延迟加载 public static synchronized Sign getInstance(){...原创 2016-05-06 17:49:23 · 575 阅读 · 0 评论 -
单例模式---饿汉式
Java代码: class Sign{ //类加载时初始化,不延迟加载,类加载时是线程安全的 效率低 private static Sign s = new Sign(); //私有化构造器 private Sign(){} //线程安全 ,效率高 public static Sign getInstance(){ return s; }}public...原创 2016-05-06 17:53:49 · 368 阅读 · 0 评论 -
单例模式---静态内部类
package javaTestpack;//Fil内没有static属性,则不会像饿汉式那样立即加载对象class Sign{ //只有使用Sign类里getInstace()方法时才加载内部类并创建单例 且线程安全 //调用效率高 且实现了延时加载 private static class SignInstance{ private static final Sign in...原创 2016-05-06 21:11:20 · 1639 阅读 · 0 评论 -
单例模式---枚举式
/** * 测试枚举式实现单例模式 * 没有延迟加载 * @author jadeshu */enum Fil{ //这个枚举元素,本身就是单例对象 INSTANCE; //添加自己需要的操作 //.... public void Operation(){ }}public class Test{ public static void main(String[] ...原创 2016-05-06 21:33:50 · 430 阅读 · 0 评论 -
单例模式总结
单例模式总结常见的五种单例模式-----主要1.饿汉式(线程安全,调用效率高,不能延迟加载)2.懒汉式(线程安全,调用效率不高,可以延迟加载)-----其他3.双重检测琐式(不推荐)4.静态内部类式(线程安全,调用效率高,可以延迟加载)5.枚举式(线程安全,调用效率高,不能延迟加载且可以防止反射和反序列化漏洞)如何选用---1.不需要延迟加载(单例对象...原创 2016-05-06 21:55:07 · 340 阅读 · 0 评论 -
设计模式综合列表【QQ空间日志转载】
C++设计模式全篇【QQ空间日志转载】原创 2019-03-08 19:44:54 · 216 阅读 · 0 评论