使用场景
学习设计模式最重要的一点之一就是需要充分理解每种设计模式的使用场景。
当你想创建一个对象的时候,如果出现了以下几种情况,那么可以考虑是不是
该用工厂模式了:
- 1.不想直接new这个类的对象,防止这个类改变的时候在new的地方到处去改,麻烦且容易遗漏;
- 2.这个类的对象构建过程非常复杂,不想在代码的各个地方将这么复杂的构建过程反复书写;
- 3.这个类的对象在构建过程中依赖了很多其他的类,而你无法在调用的地方提供。
UML类图
业务场景:小明是个运动鞋大亨,他承包了耐克和阿迪达斯两个品牌的运动鞋的生产,随着资本的积累,他准备将耐克和阿迪两个品牌的衣服也一起生产,我们如何用代码实现这个业务呢?
如果继续用前面介绍的工厂方法模式,如果品牌数和每个品牌对应的产品种类都很多的情况下,会造成类巨多的场面,过多的类会让系统的维护成本大幅增加。今天要介绍的抽象工厂模式能一定程度上改善这种局面。