什么是设计模式?
设计模式是一套被反复使用,多数人知晓,经过分类编目的代码设计经验的总结。
工厂模式概念
- 实例化对象,用工厂方法代替new操作。
- 三种工厂模式 (简单工厂模式、工厂方法模式、抽象工厂模式)。
- 抽象工厂模式是工厂方法模式的扩展。
- 设计模式的依赖抽象原则。
将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。
- 创建对象实例时,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。有的书上说,变量不要直接持有具体类的引用。
- 不要让类继承具体类,而是继承抽象类或者是实现interface(接口)。
- 不要覆盖基类中已经实现的方法。
工厂模式的意图
定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化.工厂方法就是把实例化的工作推迟到之类中实现.
什么情况下适合用工厂模式
- 有一组类似的对象需要创建
- 在编码时不能预见需要创建哪些类的实例
- 系统需要考虑扩展性,不应依赖于产品类如何被创建,组合和表达的细节
工厂模式的动机
项目中的现状:
软件系统中经常面临着"对象"的创建工作,由于需求的变化,这个对象可能随之也会发生变化,但他却有着比较稳定的接口.为此,我们需要提供一种封装机制来隔离出这个易变对象的变化,从而保持系统中依赖该对象的对象不随着需求变化而变化.
基于项目现状将代码进行如下设计:
- 尽量松耦合,一个对象的依赖对象变化与本身无关
- 具体产品与客户端剥离,责任分离
在Java生态中的应用