摘自:百度百科 工厂模式
你会建立一个专门生产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内部是怎样实现的,但是不应该是你需要一件衬衫时考虑的事情。
阅读(1125) | 评论(0) | 转发(0) |