工厂方法模式: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到它的子类.
示例1:
这里定义了一个 ObjectWrapper 的创建接口 ObjectWrapperFactory ,通过该接口的具体实现类去创建具体的 ObjectWrapper 子类对象.做到了对扩展的开放,对修改的封闭,满足开放-封闭原则((软件实体类、模块或者函数等等,应该可以扩展,但是不可以修改)规则)精神.
示例2:
TransactionFactory 是用于创建 Transaction 的工厂接口,其中最核心的方法是 newTransaction() 方法,它会根据数据库连接或数据源创建 Transaction 对象.
JdbcTransactionFactory 和 ManagedTransactionFactory 是 TransactionFactory 的两个实现类,分别用来创建 JdbcTransaction 对象和 ManagedTransaction 对象.
工厂方法模式将简单工厂的内部判断逻辑,移动到了客户端代码来进行,在扩展新功能的时