模式设计--工厂
2016-07-05 14:33
204 查看
工厂,就是帮别人生产的。公司出钱让工厂生产,这样有效的降低了公司于产品的联系,即降低了耦合性。工厂模式分为简单工厂,工厂方法,抽象工厂。以手机为例,具体如下:
简单工厂:
一个手机抽象主类,多个手机抽象子类,一个工厂,具体手机对象在手机工厂中生产,
![](http://img.blog.csdn.net/20160705144305087?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
工厂方法:
这与简单工厂不同的是建立了一个抽象工厂父类,多个具体工厂子类继承,具体手机具体工厂生产。
工厂父类:
![](http://img.blog.csdn.net/20160705145203622?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
工厂子类:
![](http://img.blog.csdn.net/20160705145239481?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
手机父类:
![](http://img.blog.csdn.net/20160705145312435?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
手机子类:
![](http://img.blog.csdn.net/20160705145336812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
实现:
![](http://img.blog.csdn.net/20160705145811754?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
抽象工厂:
简单工厂:
一个手机抽象主类,多个手机抽象子类,一个工厂,具体手机对象在手机工厂中生产,
工厂方法:
这与简单工厂不同的是建立了一个抽象工厂父类,多个具体工厂子类继承,具体手机具体工厂生产。
工厂父类:
工厂子类:
手机父类:
手机子类:
实现:
抽象工厂:
相关文章推荐
- 通过编写Python小程序来统计测试脚本的关键字分析 20160328
- 2016年,我们为什么要学习C++?
- java MD5加密
- C语言的短路现象
- Android Studio 中api>9 之后无法找到 org.apache.http 包的问题
- 列存储的压缩算法【转】
- 安装 Oracle P6 EPPM 16 R1 database for 12C A
- LitJson 的使用
- 数据库中的左连接和右连接的区别
- java反射机制详解 及 Method.invoke解释
- Python 语言及其应用 Chapter_6_Note 1 类的super功能
- 点击复制按钮复制指定文本内容,实现网页中的复制功能
- linux centos 简单安装vsftpd 服务及配置卸载
- MySQL递归查询树状表的子节点、父节点
- 在已有的项目中引入react native
- CSS-overflow溢出
- FFmpeg在Android使用3
- 全是套路——四则运算(栈的使用)
- 安装 Oracle P6 EPPM 16 R1 database for 12C
- 如何使用Apache的ab工具进行网站性能测试