正在加载图片...
设计模式(PatternsinJava)-htp/vww.jdon.com 设计模式之 Factory 定义:提供创建对象的接口 为何使用? 工厂模式是我们最常用的模式了,著名的Jive论坛系统,就大量使用了工厂模式 为什么说工厂模式是最常用,因为工厂模式就相当于创建对象的new.工厂模式就是用来创 建对象的 比如我们有一个类 Sample我们要创建 Sample的对象 Sample sample=new Sample 如果我们要在创建 sample之前做点事情,比如,赋值等,可以使用 Sample的构造函数 Sample sample= new Sample(参数) 如果创建 sample时做的事情不是如赋值这样简单的事,可能是很长一段代码,如果也写入构 造函数中,那明显的就违背了面向对象的原则.封装 Encapsulation)和分派( Delegation 我们需要将创建实例的责任与使用实例的责任分开,使得语句 Sample sample= new Sample(参数) 就是简单的责任:使用 Sample这个实例;至于创建 Sample的任务就交给了 Factory工厂模 还有,如果 Sample有个继承如 MySample,按照面向接口编程,我们需要将 Sample抽象成 个接口 现在 Sample是接口,有两个子类 MySample和 HisSample.我们要实例化他们时,如下 Sample mysample=new MySampleo Sample hissample=new HisSampleo 随着项目的深入, Sample可能还会"生出很多儿子出来",那么我们要对这些儿子一个个实 例化,更糟糕的是,可能还要对以前的代码进行修改:加入后来生出儿子的实例.这在传统程 序中是无法避免的 但如果你一开始就有意识使用了工厂模式,这些麻烦就没有了 你会建立一个专门生产 Sample实例的工厂设计模式(Patterns in Java) -- http://www.jdon.com 9 设计模式之 Factory 定义:提供创建对象的接口. 为何使用? 工厂模式是我们最常用的模式了,著名的 Jive 论坛系统,就大量使用了工厂模式. 为什么说工厂模式是最常用,因为工厂模式就相当于创建对象的 new. 工厂模式就是用来创 建对象的. 比如我们有一个类 Sample 我们要创建 Sample 的对象: Sample sample=new Sample(); 如果我们要在创建 sample 之前做点事情,比如,赋值等,可以使用 Sample 的构造函数: Sample sample=new Sample(参数); 如果创建 sample 时做的事情不是如赋值这样简单的事,可能是很长一段代码,如果也写入构 造函数中,那明显的就违背了面向对象的原则.封装(Encapsulation)和分派(Delegation); 我们需要将创建实例的责任与使用实例的责任分开, 使得语句 Sample sample=new Sample(参数); 就是简单的责任:使用 Sample 这个实例;至于创建 Sample 的任务就交给了 Factory 工厂模 式. 还有,如果 Sample 有个继承如 MySample, 按照面向接口编程,我们需要将 Sample 抽象成一 个接口. 现在 Sample 是接口,有两个子类 MySample 和 HisSample .我们要实例化他们时,如下: Sample mysample=new MySample(); Sample hissample=new HisSample(); 随着项目的深入,Sample 可能还会"生出很多儿子出来", 那么我们要对这些儿子一个个实 例化,更糟糕的是,可能还要对以前的代码进行修改:加入后来生出儿子的实例.这在传统程 序中是无法避免的. 但如果你一开始就有意识使用了工厂模式,这些麻烦就没有了. 你会建立一个专门生产 Sample 实例的工厂:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有