ios工厂模式

设计模式 - 工厂模式

孤者浪人 提交于 2019-11-30 18:07:45
概述 我们都知道 Java 中一共有 23 种设计模式,其中工厂模式分为三种,即:简单工厂模式(不在 23 种设计模式之列)、工厂方法模式和抽象工厂模式;我们平时说的工厂模式,其实大都指工厂方法模式,这种模式是我们平时编码中用的频率最高的一种,在 Spring 源码中就有很多工厂模式的应用,比如 BeanFactory 。 下面依次按照简单工厂模式、工厂方法模式、抽象工厂模式的顺序,依次由浅入深说说这三种模式;文章分别从定义、场景、优缺点也示例进行讲解。 简单工厂模式 定义 简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,简单来说就是, 定义一个工厂类,根据传入的参数不同返回不同的实例,被创建的实例具有共同的父类或接口。 场景 简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。总结一下就是: 需要创建的对象较少; 客户端不关心对象的创建过程; 优缺点 优点 实现了对责任的分割,提供了专门的工厂类用于创建对象 缺点 工厂类的职责相对过重,不易于扩展过于复杂的产品结构,不符合开闭原则(可解决) 示例 接下来我们构造一个场景来看看简单工厂模式的应用:现在手机更新换代的比较快,手机厂商每年基本都会在不同时间或者在同一时间发布生产不同型号和配置的手机。

设计模式2——Factory设计模式

孤街浪徒 提交于 2019-11-26 21:24:36
Factory工厂设计模式为创建对象提供了一种抽象,而对使用者屏蔽了对象创建的具体细节过程,工厂模式有三种:简单工厂模式,抽象工厂模式和工厂方法模式。 1. 简单工厂模式: 又叫静态工厂模式,简单工厂只包括一个抽象产品类(该类可以是接口,也可以是具体的类),所有需要的产品类都是该抽象产品类的子类。简单工厂模式中工厂为具体产品工厂,产品为抽象产品,由工厂实例创建产品实例: 一个生成圆形和矩形的图形工厂,例子如下: //图形接口 interface Shape(){ public void draw(); } //圆形 class Circle implements Shape{ public void draw(){ System.out.println(“Circle is drawing”); } } //矩形 class Rectangle implements Shape{ public void draw(){ System.out.println(“Rectangle is drawing”); } } //图形工厂 class ShapeFactory{ public static Shape createShape(String name) throws InstantiationException, IllegalAccessException,