设计模式(C#)
haixin-561
这个作者很懒,什么都没留下…
展开
-
C/C++语言:简单工厂方法模式
代码实现:文件后缀为 .cpp 如果去掉 语音朗读 .c 也可以#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<locale.h>#include<Windows.h>#include<atlstr.h>#include&...原创 2020-04-06 12:15:35 · 261 阅读 · 0 评论 -
C#设计模式之-- 命令模式
命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的优点:它比较容易地设计一个命令队列在需要的情况下可以将命令计入日志允许接受命令的一方决定是否否决命令可以容易的实现对命令的撤销和重做由于加进新的具体命令类不影响其他的类,因此怎加新的具体命令类很容易命令模式: 把请求一个操作的...原创 2019-08-05 20:46:24 · 205 阅读 · 0 评论 -
C#设计模式之 --工厂模式
设计模式之 – 工厂模式:工厂方法模式 (factory method): 定义一个用于创建对象的接口,让子类决定实例化那一个类。工厂方法使一个类的实例化延迟到其子类。结构图:工厂方法模式的实现 比简单工厂模式更进一步实现了依赖倒转原则,把工厂类抽象出一个接口,这个接口只有一个方法,就是创建抽象产品的方法。然后所有要生产具体类的工厂,就去实现这个接口。这样,一个简单工厂模式的工厂类,变成...原创 2019-08-07 22:08:48 · 432 阅读 · 0 评论 -
C# 设计模式之 -- 状态模式
设计模式之 – 状态模式面向对象的设计,其实就是希望做到代码的责任分解, 实现‘单一职责原则’。状态模式: 主要解决的是,当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。如果这个状态判断很简单,那就没有必要用“状态模式”。设计说明:State -->抽想状态,包含抽象方法。子类必须实现抽象方法。 抽象方法...原创 2019-08-05 21:42:02 · 228 阅读 · 0 评论 -
C#设计模式之 -- 简单工厂
设计模式之 – 简单工厂简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。结构图:实例代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threadin...原创 2019-08-06 22:22:39 · 173 阅读 · 0 评论 -
C#设计模式之 --抽象工厂
抽象工厂模式:抽象工厂(Abstract Factory): 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体类。结构图:AbstractProductA 和 AbstractProductB 是两个抽象产品 之所以是抽象,是因为它们都有可能又两种不同的实现。而 ProductA1,ProductA2和ProductB1,ProductB2 就是对两个抽象产品的具体分类的...原创 2019-08-11 22:19:38 · 236 阅读 · 0 评论 -
C#设计模式之 --策略模式
策略模式(Strategy):策略模式:它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变换,不会影响到使用算法的客户端。结构图:实例 Dome模拟一个商场不同打折收费,策略模式与简单工厂结合收费抽象类及其实现的子类: /// <summary> /// 现金收费抽象类 /// </summary> publ...原创 2019-08-24 21:33:10 · 193 阅读 · 0 评论 -
C#设计模式之 --备忘录模式
备忘录模式(Memento):Memento(备忘录模式):再不破环封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象回复到原先保存的状态。结构图:Originator (发起人):负责创建一个备忘录 Memento,用于记录当前时刻它的内部状态,并可以使用备忘录恢复状态。Originator 可以根据需求决定 Memento 存储 Origin...原创 2019-08-20 21:30:36 · 262 阅读 · 0 评论