有大量的文章解释什么是设计模式,如何实现设计模式,网络上不需要再写一篇这样的文章.相反,在本文中我们更多的讨论什么时候用和为什么要用,而不是用哪一个和如何使用. 我将会为这些设计模式描绘不同的场景和案例,和提供一个简短的定义帮助你们中对这些指定的模式不熟悉的人.让我们开始吧. 这篇文章覆盖了Robert C. Martin书中提到的一些敏捷设计模式.这些设计模式都是最初由四人组在1994年定义和发表的设计模式的现代改写版.Martin的模式更多是对四人组模式的承接,能更好的与现在的编程技术协作.
定义与类型 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于GOF23种设计模式 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心 优点 只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节 缺点 工厂类的职责相对过重,增加新的产品,需要修改工厂类的判断逻辑,违背开闭原则 Coding 创建一个抽象产品类 public abstract class Video { public abstrac