摘要:一、创建型模式(5):原型、建造者、单例、工厂、抽象工厂。 1.原型模式:建立相应数目的原型并克隆它们通常比每次用合适的状态手工实例化该类更方便。 2.建造者模式:将一个复杂对象的构建与它的表示分离,用同样的构建过程创建不同的产品。 3.单例模式:让类自身负责保存它的唯一实例。这个类可以保证没...
阅读全文
摘要:男人女人对比示例: 1.Visitor: public abstract class Action { public abstract void GetManConclusion(Man man); public abstract void GetW...
阅读全文
摘要:音乐解释器示例: 规则: 1).“T"代表演奏速度,”T 1000“表示每节拍一秒,”T 500“表示每节拍半秒; 2).”O“表示音阶,“O1"表示低音,”O2”表示中音,“O3“表示高音; 3).”C D E F G A B”表示“1 2 3 4 5 6 7”; ...
阅读全文
摘要:网站共享代码示例:1.Flyweight: public abstract class WebSite { public abstract void Use(); }2.ConcreteeFlyweight: public class Concrete...
阅读全文
摘要:同事间接收消息示例: 1.Mediator: public abstract class Mediator { public abstract void Send(string message, Colleague colleague); }2.Colleagu...
阅读全文
摘要:申请审批示例: 1.请求类: public class Request { public string RequestType { get; set; } public string RequestContent { get; set; } ...
阅读全文
摘要:烧烤店点餐示例: 实现1:1.Receiver: public class Barbecuer { public void BakeMutton() { Console.WriteLine("烤羊肉串!"); ...
阅读全文
摘要:手机品牌及手机软件示例: 1.Implementor: public abstract class HandsetSoft { public abstract void Run(); }2.ConcreteImplementor(以游戏类为例): pu...
阅读全文
摘要:实现:1.Singleton: public class Singleton { private static Singleton instance; //构造方法为private,外部代码不能直接实例化 private Singleto...
阅读全文
摘要:乘车买票示例:1.Iterator: public abstract class Iterator { public abstract object First(); public abstract object Next(); publ...
阅读全文
摘要:公司管理系统示例: 1.Component: public abstract class Company { protected string name; public Company(string name) { ...
阅读全文
摘要:游戏进度备忘示例: 1.Originator: public class GameRole { public int Vitality { get; set; } public int Attack { get; set; } publ...
阅读全文
摘要:篮球翻译示例: 1.Target: public abstract class Player { protected string name; public Player(string name) { this.n...
阅读全文
摘要:工作状态示例: 1.State: public abstract class State { public abstract void WriteProgram(Work work); }2.ConcreteState(以ForenoonState、Noon...
阅读全文
摘要:切换数据库类型示例: 1.User类: public class User { public int Id { get; set; } public string Name { get; set; } }2.AbstractProduct...
阅读全文
摘要:观察老板回来示例: 1.Subject: public interface Subject { void Attach(Observer observer); void Detach(Observer observer); void N...
阅读全文
摘要:建造小人示例: 1.Builder: public abstract class PersonBuilder { public abstract void BuildHead(); public abstract void BuildBody(); ...
阅读全文
摘要:投资基金示例:1.股票、国债、房地产类: public class Stock { public void Sell() { Console.WriteLine("股票卖出"); } public vo...
阅读全文
摘要:考题试卷示例: 1.试卷父类: public class TestPaper { public void TestQuestion1() { Console.WriteLine("杨过是哪部小说中的人物?a.飞狐外传 b.天龙八...
阅读全文
摘要:说明:1..NET在System命名空间中提供了ICloneable接口,其中只有唯一的一个方法Clone(),只需要实现这个接口就可以完成原型模式。【即上图中Prototype用ICloneable代替】 2.MemberwiseClone():创建一个浅表副本,方法是创建一个新对象,...
阅读全文