1、简单工厂模式 1.1、什么是简单工厂模式 简单工厂模式是类的创建模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一类产品类的实例。由一个工厂类根据传入的参数来决定创建出哪一种产品类的实例。 1.2、简单工厂模式的结构 工厂类(Creator)角色:工厂方法模式的核心,含有与 ...
分类:
其他好文 时间:
2018-10-05 21:31:13
阅读次数:
175
工厂模式基本与简单工厂模式差不多,在简单工厂中,每次添加一个产品子类都必须在工厂类中添加一个判断分支,这样违背了开放-封闭原则,因此,工厂模式就是为了解决这个问题而产生的。 既然每次都要判断,那我就把这些判断都生成一个工厂子类,这样,每次添加产品子类的时候,只需再添加一个工厂子类就可以了。这样就完美 ...
分类:
其他好文 时间:
2018-10-05 17:25:48
阅读次数:
165
简单工厂模式: 常用的场景 例如部署多种数据库的情况,可能在不同的地方要使用不同的数据库,此时只需要在配置文件中设定数据库的类型,每次再根据类型生成实例,这样,不管下面的数据库类型怎么变化,在客户端看来都是只有一个AbstractProduct,使用的时候根本无需修改代码。提供的类型也可以用比较便于 ...
分类:
其他好文 时间:
2018-10-05 17:16:23
阅读次数:
118
简单工厂模式属于类的创建型模式,又叫静态工厂方法模式。通过站门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类。 1.工厂角色:简单工厂模式的核心,他负责实现创建所有实例的内部逻辑,工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象角色:简单工厂所创建的所有对象的父类,它负责描 ...
分类:
其他好文 时间:
2018-10-05 16:10:53
阅读次数:
121
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 类型:创建类模式 类图: 工厂方法模式代码 工厂模式: 首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、以及抽象工厂模式。工厂模 ...
分类:
其他好文 时间:
2018-10-04 23:50:07
阅读次数:
191
一、定义:由一个工厂对象决定创建出哪一种产品类的实例 二、类型:创建型,但不属于GOF23种设计模式 三、适用场景: 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。 四、优点: 只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建 ...
分类:
其他好文 时间:
2018-10-04 11:05:46
阅读次数:
149
一、简单工厂模式 1、内容 2、角色 3、优点 4、缺点 二、工厂方法模式 1、内容 不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例 2、角色 1、工厂角色(Factory) 2、抽象产品角色(Product) 3、具体产品角色(Concrete Product) 3 ...
分类:
其他好文 时间:
2018-10-01 11:51:38
阅读次数:
132
严格意义上来说,简单工厂模式并不属于GoF的23种设计模式,但是它是学习其他工厂模式的基础和前提条件。理解了简单工厂模式,学习工厂方法模式和抽象工厂模式会比较容易一些。 简单工厂模式的定义 定义一个工厂类,他可以根据不同的参数返回不同类的实例。通常情况下,被创建的类的实例通常都具有共同的父类。 简单 ...
分类:
编程语言 时间:
2018-09-19 23:32:48
阅读次数:
220
C++的工厂模式分为三种:简单工厂模式、工厂模式和抽象工厂模式 简单工厂模式 简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。客户端唯一需要知 ...
分类:
编程语言 时间:
2018-09-19 19:46:31
阅读次数:
181
简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解... ...
分类:
其他好文 时间:
2018-09-17 19:50:44
阅读次数:
154