设计模式之--工厂模式

来源:互联网 发布:爱宕级驱逐舰数据 编辑:程序博客网 时间:2024/06/11 13:59

利用静态方法定义一个简单的工厂,常被称为静态工厂。缺点,不能通过继承来改变创建方法的行为。

工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类吧实例化推迟到子类。

类图:

 

简单工厂不具备工厂方法的弹性,因为简单工厂不能变更正在创建的产品。

 

工厂模式例子:不同地域的比萨商店创建比萨。

设计原则:要依赖抽象,不要依赖具体类。(依赖倒置原则)

 

避免违反依赖倒置原则:变量不可以持有具体类的引用。不要让类派生自具体类。不要覆盖基类中已实现的方法。(根据具体设计可取舍)

抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

类图:

比萨原料工厂例子。

 

工厂用的方法是继承,抽象工厂用的是组合。

原创粉丝点击