摘要: 假设你是个木工手艺人,会做各种高矮胖瘦的人物,现在让你做一个男生和女生。 class Person { Ilist<string> parts = new List<string>(); public void Add(string part) { parts.Add(part); } public 阅读全文
posted @ 2020-12-15 23:54 鑫茂 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 比如开一台设备需要按顺序给显示器通电、亮灯、发出声音。 在使用外观模式前,客户端直接调用通电、亮灯、发出声音。 在这样的情况下,后续如果流程发生变化,比如不需要发出声音或声音需要在亮灯之前,就需要修改客户端的代码,如果客户端多处调用,就需要修改多处。 public class SubSystemOn 阅读全文
posted @ 2020-12-15 23:52 鑫茂 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 父类定好模板,不同的子类只需要往里面填个性化的内容。就像一张卷子,不同的考生往里面填各自的答案。 public class TestPaper { public void Question1() { Console.WriteLine("This is Question1:"); Console.W 阅读全文
posted @ 2020-12-15 23:49 鑫茂 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 目的:当需要多次实例化同一个对象时,可以通过 Clone 已有对象的方式避免多次实例化,从而节约性能。 1. 雏形 /// <summary> /// 抽象原型类 /// </summary> public abstract class Prototype { public abstract Pro 阅读全文
posted @ 2020-12-15 23:40 鑫茂 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 前面讲到的简单工厂如下面这段代码,后续需要拓展功能时,需要在简单工厂里面添加 case ,这依旧违反了开放-封闭中的对修改关闭的原则。 // 工厂生成对象类 public class OperationFactory { public static OperationClass GetOperati 阅读全文
posted @ 2020-12-15 23:33 鑫茂 阅读(74) 评论(0) 推荐(0) 编辑
摘要: // 送礼物:红包、花、巧克力 public interface GiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate(); } // 送礼物的人 public class Pursuit : GiveGift { / 阅读全文
posted @ 2020-12-15 23:13 鑫茂 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。 public class Person { public string Name { get; set; } public Person() { } public Person(string name) { Name = n 阅读全文
posted @ 2020-12-15 22:53 鑫茂 阅读(80) 评论(0) 推荐(0) 编辑
摘要: // 结账基类 public abstract class CashSuper { public abstract double acceptCash(double money); } // 正常模式 public class CashNomal : CashSuper { public overr 阅读全文
posted @ 2020-12-15 22:46 鑫茂 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 单一职责:例如 Form 类不应该实现具体的算法; 开放封闭:对修改关闭,对拓展开放,比如实现了加法,后面添加减法时,不应该触及到实现加法的类,以免误修改,可以通过简单工厂等设计模式去实现这个目的。 依赖倒置:面对接口编程,而不是面对实现编程,虽然最终是为了实现。 里氏置换:派生类(子类)对象可以在 阅读全文
posted @ 2020-12-15 22:46 鑫茂 阅读(82) 评论(0) 推荐(0) 编辑
摘要: // 工厂生成对象类 public class OperationFactory { public static OperationClass GetOperation(string operationType) { OperationClass opera = null; switch (oper 阅读全文
posted @ 2020-12-15 22:28 鑫茂 阅读(75) 评论(0) 推荐(0) 编辑