工厂模式-实际应用

前言:

工厂模式一般分为:简单工厂模式、工厂方法、抽象工厂模式;

也有人认为工厂方法是抽象工厂模式的特例,即当抽象工厂模式的工厂只生产一种产品时转变为工厂方法。

注:以下内容借鉴于网络。

 

一、简单工厂模式

 

 

工厂:AbstractLoggerAdapter

产品:logger(日志记录器)

工厂根据参数给出对应的产品,你无需关心产品是如何制造的。

 

二、工厂方法

 

 

抽象工厂(或根据参数)给出具体的工厂,无需关心具体工厂是怎么制造产品的;

且工厂只生产一种产品。

 

三、抽象工厂模式

 

抽象工厂(或根据参数)给出具体的工厂,无需关心具体工厂是怎么制造产品的;

且工厂可以生产多种产品;也有说多种产品抽象成一种产品。

 

总结

简单工厂模式:

食物(抽象产品)售货机(简单工厂),用户按1买猪肉(具体产品1)、用户按2买牛肉(具体产品2)、用户按3买羊肉(具体产品3);

如果继续添加鸡鸭鱼肉;则售货机为了更新程序、增大体积会停止售卖,况且导致程序复杂,用户体验差,机器臃肿等;

工厂方法:

食物(抽象产品)售货机(抽象工厂)分为猪肉(具体产品1)售货机(具体工厂1),牛肉(具体产品2)售货机(具体工厂2),羊肉(具体产品3)售货机(具体工厂3);

如果继续添加鸡鸭鱼肉;则原先的售货机正常运营,只需添加新的鸡肉(具体产品4)售货机(具体工厂4)即可;

抽象工厂模式:

食物(抽象产品)售货机(抽象工厂)分为猪肉(抽象产品1)售货机(具体工厂1),牛肉(抽象产品2)售货机(具体工厂2),羊肉(抽象产品3)售货机(具体工厂3);

这些售货机都可以卖鲜肉类,如鲜猪肉(具体产品1-1),也可以卖肉加工类,如火腿肠肉松等(具体产品1-2);只需把鲜猪肉和火腿肠放到一个售货机里,这样进货也容易,用户买货也容易,不用分别去不同的售货机操作;

posted @ 2021-11-25 09:33  seeAll  阅读(408)  评论(0编辑  收藏  举报