问题描述 电脑城的老板是直接与客户联系的,然而电脑的组装是老板指挥装机人员将电脑的各个组件组装起来,真正创建产品的是电脑城的装机人员。 用代码来实现该逻辑。 代码实现 电脑类 public class Computer { private List<string> p
问题背景 音乐解释器程序,根据自定义规则将音乐解释成简谱。 代码实现 public class PlayContext { public string PlayText { get; set; } } public abstract class E
问题描述 男人和女人是完全不同的两种人,在对待问题上会有完全不同的态度,如何实现男人和女人各方面的对比。 代码实现 人的抽象类 public abstract class Person { public abstract void Accept(Action a);
问题描述 菜鸟的朋友们都希望提供定制的网站,有的希望是新闻发布形式的、有的希望是博客形式的、有的希望是产品图片加说明形式的,但是都希望费用上能大大降低。如果每个网站都独立租用空间费用上基本不能减低,而且维护众多网站的代码需要投入很大的时间和精力。 代码实现 public class User
问题描述 刚进公司的新人需要其他部门同事帮助是有困难的,但是通过主管协调就会简单很多。 用一个中介对象来封装一系列的对象交互,各对象之间不需要相互引用,从而可以使得耦合松散,并且可以独立的改变他们的交互。 代码实现 中介者抽象类 public abstract class Mediator
问题描述 加薪、请假申请会有层层审批的场景,比如向经理提出加薪申请,如果经理没有权限会上报给总监,总监如果没有权限会上报给总经理。 代码实现 请求类 public class Request { public string RequestType { get; set
问题背景 实现烧烤摊场景,引入服务员完成点菜、退单等可撤销的操作。 代码实现 抽象命令类 public abstract class Command { protected Barbecuer barbecuer; public Command(Bar
问题描述 对于不同系统的手机,软件基本无法兼容,因此如果手机需要增加软件,就需要针对不同品牌的手机分别实现软件功能。 代码实现 手机软件抽象类 public abstract class HandsetSoft { public abstract void Run()
问题描述 遍历对象时,又想要别人访问他的元素,但是又不想暴露内部的结构,这时可以使用迭代器模式。 代码实现 数据抽象类 public abstract class IMyData { public abstract Iterator CreateIterator();
背景描述 一个公司存在子公司,以及职能部门。用组合模式来实现公司的组织。 代码实现 Company类 public abstract class Company { protected string mName; public Company(stri