|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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, |
|