作者:Administrator

命令模式

问题背景 实现烧烤摊场景,引入服务员完成点菜、退单等可撤销的操作。 代码实现 抽象命令类 public abstract class Command { protected Barbecuer barbecuer; public Command(Bar

Administrator Administrator 发布于 2024-08-03

桥接模式

问题描述 对于不同系统的手机,软件基本无法兼容,因此如果手机需要增加软件,就需要针对不同品牌的手机分别实现软件功能。 代码实现 手机软件抽象类 public abstract class HandsetSoft { public abstract void Run()

Administrator Administrator 发布于 2024-08-02

迭代器模式

问题描述 遍历对象时,又想要别人访问他的元素,但是又不想暴露内部的结构,这时可以使用迭代器模式。 代码实现 数据抽象类 public abstract class IMyData { public abstract Iterator CreateIterator();

Administrator Administrator 发布于 2024-08-02

组合模式

背景描述 一个公司存在子公司,以及职能部门。用组合模式来实现公司的组织。 代码实现 Company类 public abstract class Company { protected string mName; public Company(stri

Administrator Administrator 发布于 2024-08-02

备忘录模式

背景描述 在玩单机游戏时,可以在关键点进行存档,并可以回退到某个你历史存档。 代码实现 人物类 public class GameRole { public int Vitality { get; set; } public int Attack { get; set; }

Administrator Administrator 发布于 2024-08-02

适配器模式

问题描述 对于刚去NBA打球的姚明,需要随时有一个翻译在身边。仿照该情形实现适配器模式。 代码实现 运动员抽象类 public abstract class Player { public Player(string name) {

Administrator Administrator 发布于 2024-08-01

观察者模式

问题描述 公司几个同时上班摸鱼,比如又看NBA的,有炒股的。如果老板回来了,前台小妹会给大家发消息,大家立刻开始工作。 代码实现 Subject接口 public interface Subject { void attach(Observer observer);

Administrator Administrator 发布于 2024-08-01

状态模式

问题描述 假如我们要描述员工一天的工作状态,使用状态模式来实现。 代码实现 State类 public abstract class State { public abstract void WriteProgram(Work work); } 具体状态类 p

Administrator Administrator 发布于 2024-08-01

模板方法模式

问题描述 老师在黑板上抄作业,同学们在下面先抄作业,再做答案。经常有同学眼神不好,会把作业抄错。 但在考试时,就不会有这样情况,因为大家拿到的试卷都是一样的。这里考试试卷类似于模板,提取了相同部分。 代码实现 抽象试卷类 abstract class TestPaper { public

Administrator Administrator 发布于 2024-07-31

原型模式

问题描述 设想我们需要给不同时间点的自己写三份简历,此时姓名和性别不变,只有年龄和工作经历有变化。 现在给出这三份简历。 代码实现 工作经历类 class WorkExperience:ICloneable { public string WorkData { get;set; }

Administrator Administrator 发布于 2024-07-31