工厂模式与抽象工厂模式 简单比较 例子

工厂模式与抽象工厂模式

当添加产品类后,如果采用简单工厂模式,必须修改工厂类,这时比较理想的方法   是采用工厂模式。
在工厂模式中,增加了一个工厂抽象类,由这个抽象类可生成多个具体工厂类,针对新增加的具体产品类,不必修改已有的工厂类,只需增加一个具体工厂类,这就是工厂模式比简单工厂模式先进的地方。
工厂模式中的类一般是这样的:
一个抽象产品类,多个具体产品类
一个抽象工厂类,多个具体工厂类
当添加具体产品类时,不必修改已有的工厂类,只需增加具体工厂类,在具体工厂类中,与简单工厂模式一样,一般只有一个静态工厂方法。

来个比喻:
一个农场中由一个人来管理农场中的所有产品,这就是简单工厂模式,这种模式只适合小的农场。
当农场规模扩大后,一个人来管理显示不合适,这时就需要多个人来管理,相当于有多个具体工厂类,每个人管理不同的产品,如张三管理大白菜,李四来管理苹果...
如果农场进一步扩大,比如大白菜这个品种,有北方的大白菜,有南方的大白菜,或者更多,其它的产品与大白菜类似,分成许多地域的品种,这时就要采用抽象工厂模式。
农场的抽象工厂模式:
一个抽象产品类,用来管理南方的产品,包括大白菜等
另一个抽象产品类,用来管理北方的产品,包括大白菜等
或者有更多  
一个抽象工厂类,多个具体工厂类,其中一个专门管理各地的大白菜,其它类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值