Java 工厂模式设计
来源:互联网 发布:linux 标准输出重定向 编辑:程序博客网 时间:2024/06/05 19:34
Java的设计模式注重是的开发过程的思维方式,工作流程方式,在于改变开发者的思维方式,而不在于写多少demo,测试程序基本上是感受不到设计模式的思维的,因为一般小demo的工作量有限,不需要扩展,也不需要以后维护,更加不需要因为某个人离职而导致code"散落一地".
当然各种模式设计各个开发者的理解可能多多少少有偏差,但是基本思想是一样的.
工厂模式:其实很多文献说的术语,我也看得一头雾水,似懂非懂.可以举一个通俗的比方 : Boss要生成一台手机,那么就提出工作要求,那么意味着工作这个思想是提出来了,但是具体内容没有(IWork接口就产生了),秘书就说,开发这个需要项目管理,产品经理,交互,视觉,程序开发都要参与,工种就产生了,这样就需要这些人付出他们的工作内容就产生了,但是并没有分配到具体人,然后要分配到各自的成员,只需要打包分配给它们:
根据上面的思维构想,产品就去做产品的事情,开发就去做开发的事情,因为他们的事情已经各自分配好了,只需要开发在调用过程中告诉各自的对象.
开发一个程序测试一下:
<1> : 工程目录:
<2> : 具体程序:
IWork.java:
package org.durian.durianfactorydesignmode.factory.work.iwork;/** * Project name : DurianFactoryDesignMode * Created by zhibao.liu on 2016/1/27. * Time : 19:51 * Email warden_sprite@foxmail.com * Action : durian */public interface IWork { public void Work();}
DevelopWork.java:
package org.durian.durianfactorydesignmode.factory.work;import org.durian.durianfactorydesignmode.factory.work.iwork.IWork;/** * Project name : DurianFactoryDesignMode * Created by zhibao.liu on 2016/1/27. * Time : 19:58 * Email warden_sprite@foxmail.com * Action : durian */public class DevelopWork implements IWork { @Override public void Work() { System.out.println("do develop work !"); }}
下面是打包,约定各自的工作内容:
IWorkFactory.java
package org.durian.durianfactorydesignmode.factory;import org.durian.durianfactorydesignmode.factory.work.iwork.IWork;/** * Project name : DurianFactoryDesignMode * Created by zhibao.liu on 2016/1/28. * Time : 9:45 * Email warden_sprite@foxmail.com * Action : durian */public interface IWorkFactory { IWork getWork();}
DevelopWorkFactory.java
package org.durian.durianfactorydesignmode.factory;import org.durian.durianfactorydesignmode.factory.work.DevelopWork;import org.durian.durianfactorydesignmode.factory.IWorkFactory;import org.durian.durianfactorydesignmode.factory.work.iwork.IWork;/** * Project name : DurianFactoryDesignMode * Created by zhibao.liu on 2016/1/28. * Time : 9:47 * Email warden_sprite@foxmail.com * Action : durian */public class DevelopWorkFactory implements IWorkFactory { @Override public IWork getWork() { return new DevelopWork(); }}
在程序开发中,就相当于封装好特定功能块了,需要做开发工作的时候,就调用它就可以了,下面是具体使用,让事情做起来:
package org.durian.durianfactorydesignmode;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import org.durian.durianfactorydesignmode.factory.DesignWorkFactory;import org.durian.durianfactorydesignmode.factory.DevelopWorkFactory;import org.durian.durianfactorydesignmode.factory.InteractionWorkFactory;import org.durian.durianfactorydesignmode.factory.PMWorkFactory;import org.durian.durianfactorydesignmode.factory.ProductWorkFactory;public class DurianMainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.durian_main); for (int i=0;i<5;i++){ whatDoIDo(i); } } private void whatDoIDo(int i){ switch (i){ case 0: DesignWorkFactory dodesign=new DesignWorkFactory(); dodesign.getWork().Work(); break; case 1: DevelopWorkFactory dodevelop=new DevelopWorkFactory(); dodevelop.getWork().Work(); break; case 2: InteractionWorkFactory dointeraction=new InteractionWorkFactory(); dointeraction.getWork().Work(); break; case 3: PMWorkFactory dopm=new PMWorkFactory(); dopm.getWork().Work(); break; case 4: ProductWorkFactory doproduct=new ProductWorkFactory(); doproduct.getWork().Work(); default: break; } }}
运行结果:
上面的程序只给出了部分,其余的可以参考:http://pan.baidu.com/s/1pKuyDgJ
总结一句话:未完成一个总事情,需要多个功能模块共同完成
0 0
- java 设计工厂模式
- Java 工厂模式设计
- JAVA工厂设计模式
- JAVA 工厂设计模式
- java工厂设计模式
- Java工厂设计模式
- java工厂设计模式
- Java 工厂模式设计
- java工厂设计模式
- Java工厂设计模式
- [Java]工厂设计模式
- java工厂设计模式
- java 工厂设计模式
- java 工厂设计模式
- Java工厂设计模式
- Java工厂设计模式
- java---工厂设计模式
- Java工厂设计模式
- apk反编译
- iOS--新建工程需知
- viewFlipper小页面的滑动效果
- Socket 模拟Http协议发送图片文件 c#篇
- 鸟哥私房菜大二暑假
- Java 工厂模式设计
- highchart 二维数组相关
- PAT1080 Graduate Admission (30)
- iOS粘性拖拽红点动画研究
- 结束终端
- android studio内存分析初探
- Arch
- @SuppressWarnings(unchecked)作用解释文档
- Base64和3DES加密算法原理