java 为什么使用工厂方法设计模式
2016-03-22 17:34
323 查看
你会建立一个专门生产Sample实例的工厂:
public class Factory{
public static Sample creator(int which){
//getClass 产生Sample 一般可使用动态类装载装入类。
if (which==1)
return new SampleA();
else if (which==2)
return new SampleB();
}
}
那么在你的程序中,如果要实例化Sample时.就使用
Sample sampleA=Factory.creator(1); //工厂模式的目标就是产生这样的代码。
这样,在整个就不涉及到Sample的具体子类,达到封装效果,也就减少错误修改的机会,这个原理可以用很通俗的话来比喻:就是具体事情做得越多,越容易犯错误.这每个做过具体工作的人都深有体会,相反,官做得越高,说出的话越抽象越笼统,犯错误可能性就越少.好象我们从编程序中也能悟出人生道理。
封装,模块化。
可能你需要考虑工厂内部是怎么实现的,但是不应该是你需要一个对象时考虑的事情。
public class Factory{
public static Sample creator(int which){
//getClass 产生Sample 一般可使用动态类装载装入类。
if (which==1)
return new SampleA();
else if (which==2)
return new SampleB();
}
}
那么在你的程序中,如果要实例化Sample时.就使用
Sample sampleA=Factory.creator(1); //工厂模式的目标就是产生这样的代码。
这样,在整个就不涉及到Sample的具体子类,达到封装效果,也就减少错误修改的机会,这个原理可以用很通俗的话来比喻:就是具体事情做得越多,越容易犯错误.这每个做过具体工作的人都深有体会,相反,官做得越高,说出的话越抽象越笼统,犯错误可能性就越少.好象我们从编程序中也能悟出人生道理。
封装,模块化。
可能你需要考虑工厂内部是怎么实现的,但是不应该是你需要一个对象时考虑的事情。
无式胜有式! 所谓工厂,必然具备加工的功能!它有助于你的代码设计!个人觉得他可以将代码模块化! 如果你需要一件JackJones衬衫,你仅仅需要呼叫JackJonesFactory返回一件给你就是!可能你需要考虑JackJonesFactory内部是怎样实现的,但是不应该是你需要一件衬衫时考虑的事情。
相关文章推荐
- javax.servlet.ServletException: Error instantiating servlet class Compiler 错误
- ImageMagick安装配置 for java项目 (使用jmagick)
- JAVA 对象引用,以及对象赋值
- java 解压zip包
- JVM加载类实例分析
- Eclipse设置server的编码
- java中成员访问修饰符,接口与抽象类相关知识
- Java中如何遍历Map对象的4种方法
- 20个非常有用的Java程序片段
- 第二章 eclipse中m2e插件问题
- java的多线程
- 傻瓜方法求集合的所有子集问题(java版)
- Spring Data Jpa基础入门(删改查)
- eclipse统计项目的代码行数
- 《深入理解Java虚拟机》读书笔记
- eclipse(Mars版)配置svn和maven插件
- SSH学习之Struts1入门的简单登陆案例。
- JAVA的Random类(转)
- 回归基础 分析多线程的三种实现方式
- eclipse 3字节的UTF-8序列的字节2无效