摘要:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时适用 //定义一个产品类 class Product { //组成部分的集合 IList<string> parts = new List<string>(); 阅读全文
摘要:
不用通过生成子类的方式给对象动态的添加额外的职责。 为已有功能动态地添加更多功能的一种方法。装饰了原有类的核心职责或主要行为。 这种模式可以有效地把类的核心职责和装饰功能区分开。 比如我要给一个Person类添加额外的职责 //定义一个person类 public class Person { pu 阅读全文
摘要:
这两个我觉得挺类似的,然后仔细了解下才发现具体区别。 工厂方法:定义一个用于创建对象的接口,让子类决定实例化那一个类。工厂方法使得一个类的实例化延迟到其子类。 抽象工厂:提供一个创建一系列相关或相互依赖的对象的接口,而无需指定它们具体的类。 区别: 工厂方法返回单个对象的接口,而抽象工厂返回的是一系 阅读全文