工厂方法设计模式在农场系统中应用探究.doc

工厂方法设计模式在农场系统中应用探究.doc

ID:51619291

大小:60.50 KB

页数:4页

时间:2020-03-14

工厂方法设计模式在农场系统中应用探究.doc_第1页
工厂方法设计模式在农场系统中应用探究.doc_第2页
工厂方法设计模式在农场系统中应用探究.doc_第3页
工厂方法设计模式在农场系统中应用探究.doc_第4页
资源描述:

《工厂方法设计模式在农场系统中应用探究.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、工厂方法设计模式在农场系统中应用探究摘要:为提高农场系统的复用性,提出一种基于设计模式的农场系统设计方案。针对农场系统中复杂的高耦合度的问题,提出应用工厂方法设计模式来降低农场园丁和水果之间耦合度的解决方法。实验证明,工厂方法设计模式降低了农场系统各模块之间的耦合度,提高了系统的可扩展性及可复用性。关键词:工厂方法;设计模式;农场系统中图分类号:TP311.1文献标识码:A文章编号:1006-4311(2013)16-0191-020引言通常,当创建一个类的对象时,我们常单独使用构造方法进行即可。构造方法只有在客户知道所要生成的对象及构造方法所需要的参数值时才是

2、有用的[1]。但对于有些情况,此方法未必合适。比如当创建一个对象时,我们仅仅了解它的作用,但是继承于这个类的特殊子类的作用只有到运行时才能知道。例如,我们现欲编写一段应用于水果对象的代码,如果这段代码是为所有类型的水果编写的,那么,我们就不能先为某一种特殊的水果编写代码,也就是不能为苹果Apple编写代码,接着再为葡萄Grape编写代码,等等。也就是说,我们不应该知道这个水果对象到底是Apple还是Grape,直至运行时用户提供了一个输入。1工厂方法设计模式在软件系统中,经常面临着“某个对象”的创建工作。由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有

3、比较稳定的接口。工厂方法设计模式的用意是为类的开发者定义创建对象的接口,此接口控制需要实例化的哪些类。2农场系统在系统中,农场公司专门向市场销售各类水果,农场的园丁依据客户需求不同,提供相应的水果。在这个系统里需要描述下列的水果:葡萄(Grape)、草莓(Strawberry苹果(Apple)o水果与其他的植物有很大的不同,水果最终是可以采摘食用的。一个自然的做法就是建立一个各种水果都适用的接口,以便与农场里的其他植物区分开。3工厂方法设计模式在农场系统中的应用依据农场系统的需求,我们可给出以下几个类图:水果类图见图1:Fruit接口作为所有水果的父类,具有生长

4、、收获和种植的行为方式;Grape、Apple及Strawberry作为其子类,具有相同的行为方式,且具有自己不同的属性特征:如Grape具有无籽的属性,而Apple则具有树龄的属性。农场系统的设计图如图2所示:抽象工厂类FruitGardener是工厂方法设计模式的核心,但是它并不掌握水果类或蔬菜类的生杀大权。相反地,这项权力被交给子类,即AppleGardener、StrawberryGardener及GrapeGardener,它们分别负责自己相应专长水果的种植、管理和收获操作。4结束语本文总结了开发过程中的经验,通过工厂方法设计模式来解决农场系统设计时所

5、遇到的问题。实际使用效果表明采用设计模式之后构建的农场系统降低了各模块之间的耦合度,使得各模块的变化能独立于其他部分。工厂方法确实为系统结构提供了非常灵活强大的动态扩展机制,只要我们更换一下具体的工厂方法,系统其他地方无需一点变换,就有可能使系统功能发生改头换面的变化。当用户提出新的需求和已有需求发生变化时,系统能灵活改变或扩充,且具有一定的健壮性。参考文献:[1]DesignpatternsinJava.StevenJohnMetskerWilliamC.Wake.Post&TelecomPress,2007.6.[2]于锡祉,刘明祥,姚俊卿•家庭奶牛场利弊浅

6、析及整顿意见[J]•中国奶牛,1989(03)・[1]刘荣弟,王海•浅谈完善家庭农场〔J】•农垦经济研究,1988(12)・

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。