单例和工厂:模板和装饰者: 单例和工厂:相同:单例和工厂都是帮助创建对象不同:单例考虑了资源的消耗情况,只返回指定的唯一实例对象。而工厂设计模式可以根据具体参数/要求得到不同的细分实例对象,且不考虑资源的消耗,只是从提高代码复用性角度出发。 模板和装饰者:相同:都可以理解是将共有的逻辑抽取不同:模板设计模式是固定了整体流程,继承他的子类耦合性更高,继承后就必须遵循父类的执行逻辑。而装饰者设计模式是动态的加强,可以选择性加强或不加强,耦合性很低。