工厂模式总结

工厂模式总结:

            工程模式分为简单工厂,工厂方法,抽象工厂。按照我的理解就是三者在实现上就是逐渐把功能进行抽象。 

            怎么理解呢,可以这么想,1.我们用简单工厂要实现生产冰激凌,就将冰激凌口味进行抽象,抽象成口味接口,并增加口味方法供实现,增加变更口味只需实现接口就可以实现,工厂就普通类,只需列出各个方法返回不同冰激凌口味实例即可,由冰激凌实例进行口味方法调用。

           2.用工厂方法可以再把工厂也进行抽象成接口,这样我们就有两个接口。试想一下,简单工厂中如果要增加一种新口味的生产是不是还要对工厂类打开进行修改,比较麻烦。如果我们有了工厂接口之后,我们只需再实现一个工厂类就好,在这个工厂类中增加新冰激凌的生产即可。不过在工厂方法中,我们每个工厂只负责生产一种口味的冰激凌。

           3.抽象工厂,继续我们上面的思路,就是当增加新的需求时我们将该需求再进行抽象成接口即可。例如,我们工厂中要生产美国冰激凌和中国冰激凌,怎么做?这时我们可以将美国冰激凌和中国冰激凌抽象成两个接口,并增加各口味的方法供实现类实现,实现这两个接口的实现类可以进行各种口味的实现。这就解决问题了,我们工厂中如果要生产美国冰激凌中的一种口味时,只需在生产方法中返回美国冰激凌口味的实例即可,后续由该冰激凌口味的实例调用口味方法即可返回相应的口味。这样不管我们要改变中国冰激凌的口味还是美国冰激凌的口味,只需在实现类中修改,这是工厂那边是没有感知的。再者工厂如果不想成产美国冰激凌也可在其实现类中进行修改,美国冰激凌这边也是没有感知的。

你可能感兴趣的:(工厂模式总结)