iOS设计模式-工厂方法
2017-02-17 14:47
197 查看
工厂方法
1、定义
工厂方法中定义创建对象的接口,让子类决定实例化哪个类。工厂方法使得一个类的实例化延迟到其子类
2、何时使用
(1)类想让子类决定在运行时创建什么
(2)编译时无法确定创建对象的类型
客户想要某种产品(iPhone手机),它向简单工厂发出制作iPhone手机的命令,然后工厂制造相应的手机
BaseDevice 抽象手机:需要空实现协议;是工厂的产品
PhoneProtocol协议:统一电话,发短信的接口(为了统一使用接口,提示客户端对象是要遵循某些协议的)
DeviceFactory:便利构造器,根据客户端的具体指令生产具体的产品
iPhoneDevice:继承BaseDevice,具体实现打电话、发短信,特定的功能指纹识别(产品固定后,再到DeviceFactory中装配)
AndroidDevice:继承BaseDevice,具体实现打电话、发短信,特定的功能定制主题(工厂类中装配)
![](http://img.blog.csdn.net/20170217144730337?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTc3NDUxNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
工厂模式Demo:https://github.com/onebutterflyW/DesignModel
1、定义
工厂方法中定义创建对象的接口,让子类决定实例化哪个类。工厂方法使得一个类的实例化延迟到其子类
2、何时使用
(1)类想让子类决定在运行时创建什么
(2)编译时无法确定创建对象的类型
客户想要某种产品(iPhone手机),它向简单工厂发出制作iPhone手机的命令,然后工厂制造相应的手机
BaseDevice 抽象手机:需要空实现协议;是工厂的产品
PhoneProtocol协议:统一电话,发短信的接口(为了统一使用接口,提示客户端对象是要遵循某些协议的)
DeviceFactory:便利构造器,根据客户端的具体指令生产具体的产品
iPhoneDevice:继承BaseDevice,具体实现打电话、发短信,特定的功能指纹识别(产品固定后,再到DeviceFactory中装配)
AndroidDevice:继承BaseDevice,具体实现打电话、发短信,特定的功能定制主题(工厂类中装配)
工厂模式Demo:https://github.com/onebutterflyW/DesignModel
相关文章推荐
- iOS常用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- iOS学习笔记(5)——设计模式之工厂方法、抽象工厂
- iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- iOS设计模式(03):工厂方法
- iOS常用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- iOS设计模式:工厂方法
- IOS设计模式学习(4)工厂方法
- iOS 设计模式之简单工厂方法模式(SimpleFactoryMethod)
- iOS设计模式(03):工厂方法
- iOS设计模式-工厂方法
- iOS设计模式:工厂方法
- Object-C编程之道 iOS设计模式解析--工厂方法
- iOS设计模式:工厂方法
- iOS设计模式-工厂方法
- iOS设计模式:工厂方法
- iOS设计模式:工厂方法
- ios设计模式读书笔记----Factory Method(工厂方法)
- iOS设计模式(03):工厂方法
- iOS设计模式(03):工厂方法