仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 547|回复: 8
打印 上一主题 下一主题

[学习教程] 了解下JAVA的计划形式重构使用---Template Method形式

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
先复杂先容TemplateMethod形式的内容和使用场景。
TemplateMethod形式也叫模板办法形式,它把具有特定步骤算法中的某些需要的处置委让给笼统办法,经由过程子类承继对笼统办法的分歧完成改动全部算法的举动。
在作为笼统类的父类里,界说了一个具有流动算法并能够细分为多个步骤的模板办法(public),TemplateMethod形式把这些能够被细分的可变步骤笼统为能够被子类重载的笼统办法(protectedabstract),并经由过程在子类中的重载(从头界说),做到无需改动模板办法的算法步骤而能够从头界说该算法中的某些特定的步骤。
TemplateMethod形式的UML图以下:

(注重:版权一切hankchen)
TemplateMethod形式一样平常使用在具有以下前提的使用中:
1.具有一致的操纵步骤或操纵历程
2.具有分歧的操纵细节
3.存在多个具有一样操纵步骤的使用场景,但某些详细的操纵细节却各不不异
前一段工夫,做了一个SEO的项目,必要到一些站点发帖复兴增添外链的数量,希冀进步搜刮引擎的排名按次。先不论这个项目标可行性和定位,如今只谈触及的计划手艺(形式与重构)。
因为触及多个站点(SitePost),而且站点的数量将来是不成预知的,这是开辟中的一个变数。为了今后的可扩大性,上面是部分计划图:

(注重:版权一切hankchen)
在接口ISitePost中界说了每一个站点类必需具有群发帖、群复兴的功效。
群发帖的接口:
publicbooleanpostAll(List<Siteboards>childboard,List<Siteusers>users,List<Postinfos>postinfos);
群复兴的接口:
publicbooleanreplyAll(List<Articleinfos>articles,List<Siteusers>users,List<Postinfos>postinfos,);
如今以群发帖的接口为例,在笼统类AbstractSitePost中接纳TemplateMethod形式完成了这个接口。
之以是,接纳这个模板办法,是由于每一个站点群发帖的历程,大概说步骤,是一样的:
1.起首的群登录(随机代替理IP)
2.然后是,针对站点的每一个版面,随机用一个账号和一个帖子来提交。
这些历程是不异的,分歧的是:每一个站点的发帖细节分歧(即post办法分歧)。
详细发帖的post办法界说以下:
ProtectedabstractStringpost(Siteusersuserinfo,Siteboardssb,Postinfospostinfo);
如许,详细到AAA站点(AAASitePost类),只必要完成本人的post办法便可。

轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net,
海妖 该用户已被删除
沙发
发表于 2015-1-20 14:54:15 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
山那边是海 该用户已被删除
板凳
发表于 2015-1-25 09:40:23 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
兰色精灵 该用户已被删除
地板
发表于 2015-1-26 05:13:16 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
小妖女 该用户已被删除
5#
发表于 2015-2-3 12:24:33 | 只看该作者
是一种使用者不需花费很多时间学习的语言
若相依 该用户已被删除
6#
发表于 2015-2-8 23:06:49 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
变相怪杰 该用户已被删除
7#
发表于 2015-2-26 12:34:51 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
简单生活 该用户已被删除
8#
发表于 2015-3-16 02:33:29 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
老尸 该用户已被删除
9#
发表于 2015-3-22 18:50:42 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 22:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表