仓酷云
标题:
发布一篇深切浅出基于Java的义务链形式
[打印本页]
作者:
再现理想
时间:
2015-1-18 11:32
标题:
发布一篇深切浅出基于Java的义务链形式
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是net网页编程beans,谢谢。
1、弁言
初看义务链形式,内心不由想起了一个之前听过的相声:看牙。说的是一个病人看牙的时分,大夫不当心把拔下的一个牙失落进了病人嗓子里。病人因而楼上楼下的跑了很多多少科室,最初无果而终。
义务链形式就是这类“推脱”义务的形式,你的成绩在我这里能办理我就办理,不可就把你推给另外一个对象。至于究竟谁办理了这个成绩了呢?我管呢!
2、界说与布局
从名字上也许也能猜出这个形式的也许容貌——体系中将会存在多个有相似处置才能的对象。当一个哀求触发后,哀求将在这些对象构成的链条中传送,直到找到最符合的“义务”对象,并举行处置。
《计划形式》中给它的界说以下:使多个对象都无机会处置哀求,从而制止哀求的发送者和吸收者之间的耦合干系。将这些对象连成一条链,并沿着这条链传送该哀求,直到有一个对象处置它为止。
从界说上能够看出,义务链形式的提出是为了“解耦”,以应变体系需求的变动和不明白性。
上面是《计划形式》中给出的合用局限:
1)有多个的对象能够处置一个哀求,哪一个对象处置该哀求运转时候主动断定。
2)你想在不明白指定吸收者的情形下,向多个对象中的一个提交一个哀求。
3)可处置一个哀求的对象汇合应主动态指定。
义务链形式真的能给发送者和吸收者之间解耦(这仿佛很奇妙)吗?先来看下它的构成脚色。这个成绩我会鄙人面说起。
义务链形式由两个脚色构成:
1)笼统处置者脚色(Handler):它界说了一个处置哀求的接口。固然关于链子的分歧完成,也能够在这个脚色中完成后继链。
2)详细处置者脚色(ConcreteHandler):完成笼统脚色中界说的接口,并处置它所卖力的哀求。假如不克不及处置则会见它的后继者。
至于类图不放也罢。究竟就是一个承继大概完成。
3、纯与不纯
义务链形式的纯与不纯的区分,就像黑猫、白猫的区分一样。不要决心的往使本人的代码来切合一个形式的公式。只需可以使代码下降耦合、进步重用,满意体系需求并能很好的顺应变更就行了。正所谓:管它黑猫白猫,捉住老鼠就是好猫!
纯的义务链形式,划定一个详细处置者脚色只能对哀求作出两种举措:本人处置;传给下家。不克不及呈现处置了一部分,把剩下的传给了下家的情形。并且哀求在义务链中必需被处置,而不克不及呈现无果而终的了局。
反之,则就是不纯的义务链形式。
不纯的义务链形式还算是义务链形式吗?好比一个哀求被捕捉后,每一个详细处置者都实验去向理它,不论了局怎样都将哀求再次转发。我以为这类体例的完成,算不算是义务链形式的一种倒不主要,主要的是我们也能从中体会到义务链形式的头脑:经由过程将多个处置者之间创建接洽,来到达哀求与详细的某个处置者的解耦。
上面的例子就是接纳了下面提到的“不纯的义务链形式”。
<p>
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,
作者:
小妖女
时间:
2015-1-21 09:37
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
分手快乐
时间:
2015-1-30 13:56
是一种为 Internet发展的计算机语言
作者:
若天明
时间:
2015-2-6 13:00
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者:
不帅
时间:
2015-3-4 10:51
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者:
小女巫
时间:
2015-3-6 16:41
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
飘飘悠悠
时间:
2015-3-6 19:51
是一种为 Internet发展的计算机语言
作者:
灵魂腐蚀
时间:
2015-3-9 21:25
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
第二个灵魂
时间:
2015-3-10 17:46
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者:
谁可相欹
时间:
2015-3-11 03:38
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者:
莫相离
时间:
2015-3-11 08:28
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
透明
时间:
2015-3-15 14:42
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者:
因胸联盟
时间:
2015-3-19 10:54
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者:
金色的骷髅
时间:
2015-3-22 18:50
是一种语言,用以产生「小应用程序(Applet(s))
作者:
深爱那片海
时间:
2015-3-23 18:04
是一种突破用户端机器环境和CPU
作者:
蒙在股里
时间:
2015-3-25 06:44
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
兰色精灵
时间:
2015-4-1 12:10
是一种使网页(Web Page)产生生动活泼画面的语言
作者:
飘灵儿
时间:
2015-4-11 08:10
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者:
再现理想
时间:
2015-4-21 20:34
是一种突破用户端机器环境和CPU
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2