常见的设计模式笔记(简单工厂模式、单例模式)
原文链接:https://www.jianshu.com/p/e55fbddc071c 设计模式笔记 简单工厂模式 优点 将创建实例的工作与使用实例的工作分开,使用者不必关心类对象如何创建,实现了解耦; 把初始化实例时的工作放到工厂里进行,使代码更容易维护。 更符合面向对象的原则 & 面向接口编程,而不是面向实现编程。 缺点 工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响; 违背“开放 - 关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂。 简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重写,会造成工厂角色无法形成基于继承的等级结构。 实例步骤: 创建抽象产品类 & 定义具体产品的公共接口; abstract class Product { public abstract void Show(); } 创建具体产品类(继承抽象产品类) & 定义生产的具体产品; class ProductA extends Product{ @Override public void Show() { System.out.println("生产出了产品A"); } } class ProductB extends Product{ @Override public void Show() { System.out