一、简略类图
二、角色
工厂类角色:用于创建产品对象。
抽象产品角色:产品对象具有的共同特性。可以由接口或者抽象类实现。
具体产品角色:由工厂类所创建的对象实例。可以由具体java类实现。
三、优点
实现对责任的分割。
四、缺点
工厂类集中所有产品创建逻辑。工厂类出问题会影响产品创建;
何时创建产品与创建哪种产品的逻辑混合在一起,会导致功能扩展问题;
因工厂方法使用静态方法实现,导致工厂方法无法由子类继承;
五、JAVA中应用举例
DateFormat工具类。
一、简略类图
二、角色
工厂类角色:用于创建产品对象。
抽象产品角色:产品对象具有的共同特性。可以由接口或者抽象类实现。
具体产品角色:由工厂类所创建的对象实例。可以由具体java类实现。
三、优点
实现对责任的分割。
四、缺点
工厂类集中所有产品创建逻辑。工厂类出问题会影响产品创建;
何时创建产品与创建哪种产品的逻辑混合在一起,会导致功能扩展问题;
因工厂方法使用静态方法实现,导致工厂方法无法由子类继承;
五、JAVA中应用举例
DateFormat工具类。