简单工厂模式
2015-12-25 12:05
183 查看
需求场景:例如客户需要一部手机,手机工厂提供手机。客户只需要提出需要手机的型号,商家就会根据需求给客户提供该手机。客户不必管这部手机是怎么制造的,只管提出自己的需求厂家就会给你这部手机。
编码设计:
①.首先创建一个手机基类(手机的模板,不具有任何功能)。
②.创建一个协议文件(协议方法为@required类型的),声明手机应该具备的基本功能(例如:打电话、发短信)。
③.把该协议文件导入到手机基类中并遵循该协议,实现协议方法。
做到这步我们已经有了有基本功能的手机模型蓝图。
④.创建一个手机工厂类,写一个类方法,根据不同的参数来返回不同的手机(不同的参数可以用一个枚举来定义)。
第②步里的协议文件的目的是为了统一使用的接口,也是为了提示用户客户端需要遵循协议的(必须实现),也充当了类似类别的作用。
编码设计:
①.首先创建一个手机基类(手机的模板,不具有任何功能)。
②.创建一个协议文件(协议方法为@required类型的),声明手机应该具备的基本功能(例如:打电话、发短信)。
③.把该协议文件导入到手机基类中并遵循该协议,实现协议方法。
做到这步我们已经有了有基本功能的手机模型蓝图。
④.创建一个手机工厂类,写一个类方法,根据不同的参数来返回不同的手机(不同的参数可以用一个枚举来定义)。
第②步里的协议文件的目的是为了统一使用的接口,也是为了提示用户客户端需要遵循协议的(必须实现),也充当了类似类别的作用。
相关文章推荐
- NIL、NIL、NULL和NSNULL区别
- ASP.NET中Repeater控件实现分页功能
- 调用WScript.Shell时产生Automation 服务器不能创建对象的错误
- 批处理拷贝东西(从问题里面转载过来的)
- iOS 崩溃调试的使用和技巧总结
- 4.OC仿写知乎客户端
- 视图小问题
- LeetCode - Combination Sum II
- Linux中Samba服务器的编译安装以及配置的宏的写法
- linux命令nohup的使用,ps-aux
- eclipse上用bitbucket git管理代码的部署环境
- lnmp配置信息 4核8g优化
- 一个获取文件绝对路径的sh
- php实现scws中文分词搜索的方法
- angularJS 提示
- LeetCode - Combination Sum
- Docker 管理工具
- jQuery设置select中选中的值
- php 多维数组排序
- MySQL学习【1】MySQL安装与配置