摘要:
模式介绍 装饰器模式试图向现有对象添加新的功能,而不改变该对象的定义。 换句话说,它希望向对象的单个实例添加新的职责,而不向对象类添加这些职责。 示例 想象一下,我们在一个farm to table餐馆。这个餐馆只售卖来自农场种植的蔬菜。但是有的时候,某种蔬菜暂时没有了,我们需要通知用户。 我们来模 阅读全文
摘要:
模式介绍 组合模式使得用户对单个对象和组合对象的使用具有一致性。 示例 我们使用一个汽水售卖机进行建模,这玩意会先让你选择品牌(可乐、芬达、雪碧),然后让你选择口味(樱桃味、香草味)。 定义饮料类 创建不同口味的不同饮料,可乐(2)、生啤(2)、柠檬汁(1) 组合类 组合类,根节点 客户端调用: 总 阅读全文
摘要:
模式介绍 桥接模式试图将抽象与它的实现解耦,使得两者可以独立地变化。 示例 现实中,我哥有某种疾病,所以不能吃包含谷类麦类的食物。 我们以此为例,构建一个从不同餐馆购买特供的食物。 如果我们还想知道食物是哪家餐馆的,那就会这么写: 我们建模两个正交属性,就需要3个接口和6个类,有些过分了。 这个时候 阅读全文
摘要:
模式介绍 适配器模式用于协调两个不兼容的接口之间的差异。 当用于无法重构的接口时(例如,当接口由Web服务或API控制时),此模式特别有用。 示例 假设我们在维护肉类安全烹饪温度数据库,旧的系统是这样维护的: 可以看到,这个遗留系统没有使用面向对象模式开发,上面的那些数据应该是Meat类的属性。 我 阅读全文
摘要:
模式介绍 单例模式是一种创建型设计模式,其中一个类只保证只有一个实例,该实例可以全局访问。 这意味着该模式强制特定对象不具有可访问的构造函数,并且对该对象执行的任何访问都是在该对象的同一实例上执行的。 示例 我们模拟一下餐馆里用于通知上菜铃铛,它在柜台上只有一个。 下面代码中syncRoot是为了线 阅读全文
摘要:
模式介绍 原型模式是一种创建型的设计模式,其中使用对象的原型实例创建对象。这种模式对于创建大量对象的实例特别有用,它们都共享一些或全部的值。 示例 没错,我们还是拿三明治举例子... 三明治有很多种,不管两片面包中间夹的啥,它都是三明治。 我们使用原型模式来创建N多三明治吧 首先,整个三明治的原型抽 阅读全文
摘要:
模式介绍 Factory Method模式是一个Creation模式,它定义了用于创建对象的接口,但是没有指定该接口的各个实现将实例化什么对象。 这意味着,当使用这个模式时,您可以定义对象的某些方法和属性,这些方法和属性对于使用Factory方法创建的所有对象都是通用的,但是让各个Factory方法 阅读全文
摘要:
模式介绍 Builder模式将对象的构造与其表示分离,以便相同的构造过程可以创建不同的表示。 一般思想是,在实例化对象时发生的事情的顺序是相同的,但是这些步骤的实际细节根据具体实现是什么而改变。 示例 比如我们现在做三明治,不同的三明治,做法步骤总归是一样的。所以我们通过同一个组装线进行处理。 Di 阅读全文
摘要:
模式介绍 抽象工厂模式是一种创建模式,它定义接口来创建相关对象族,而不指定它们的实际实现。 使用此模式时,你将创建返回许多相关对象的工厂。这种模式实现了更大的体系结构,如依赖注入。 示例 比如有Sandwich(三明治) 和 Dessert(甜点) adults(成人)和 kids(小孩)喜欢吃的都 阅读全文
摘要:
XXX管理系统 菜单A 菜单B 菜单C ... 阅读全文