创建型模式:主要用于对象的创建;
结构型模式:用于处理类或者对象的组合;
行为型模式:用于描述类或对象怎样交互和分配职责;
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
定义:简单工厂模式根据传入的参数不同,返回不同的对象,属于创建型设计模式;
模式分析:主要有三类角色:
1、Factory:工厂角色,专门用于创建实例类的工厂,该类提供一个方法,根据不同的参数返回不同的具体实例;
2、Product:抽象产品角色,所有具体实例的父类;
3、ConcreteProduct:具体产品角色,工厂真正生产的实例对象;
UML类图:
意义:简单工厂模式将对象的创建和对象本身的业务做了分离,降低了系统的耦合度,使得两者修改起来都相对容易一些;
优点:
1、实现了责任分割,提供了专门工厂类用于对象的创建;
2、客户端无需知道所创建类的具体名称和创建逻辑,只需要知道具体创建对象所对应的参数即可;
3、通过引入配置文件,可以在不修改任何客户端的代码的情况下,更换和增加具体的产品类,在一定程度上提高了系统的灵活性;
缺点:
1、工厂类集中了所有具体实例的创建逻辑,一旦不能正常工作,整个系统都会受到影响;
2、工厂模式会增加系统中类的个数,一定程度上增加了系统的复杂度和理解难度;
使用场景:
1、工厂类负责创建的对象比较少的时;
以下附demo源码:
===============================================================================================================================================
Original: https://www.cnblogs.com/wha6239/p/16627795.html
Author: 一只烤鸭朝北走
Title: 设计模式之(1)——简单工厂模式
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612870/
转载文章受原作者版权保护。转载请注明原作者出处!