飘飘悠悠 发表于 2015-1-18 11:06:22

来看AOP@Work: 计划切进点来制止形式麋集

JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
“JUnitCooksTour”中的可用性和保护性
简介:在“JUnit:ACooksTour”一文中,作者ErichGamma和KentBeck会商了JUnit的计划。他们指出,与良多成熟框架中的关头笼统一样,TestCase也有很高的形式麋集,易于利用而难以修正。在AOP@Work系列的第四期文章中,WesIsberg重温了CooksTour,申明怎样经由过程利用AOP切进点设计来取代面向对象计划,在必定水平上制止招致成熟的计划难以修正的形式麋集。
即便是最好的Java™程序,也会跟着工夫的推移而老化。为了满足新的需求,计划也在不休演变,关头对象承当着各类形式脚色,直到它们变得难以利用大概难以修正,终极不能不重构大概重写体系。面向方面的编程(AOP)供应了一些将特征分离起来供应服务的更文雅的办法,这些办法能够削减交互、下降事情量、延伸计划和代码的寿命。
本文将剖析ErichGamma和KentBeck在“JUnit:ACooksTour”(请参阅参考材料)一文中提出的计划。关于他们提出的每种Java形式,都给出一种AspectJ替换方案,并申明这类计划是不是满意以下尺度计划方针:
功效性:供应的服务是不是壮大、有效?
可用性:客户可否便利地失掉服务?
可扩展性:程序变更时是不是简单扩大大概调剂?
分离(分化)性:可否与其他部分合作?
回护:面临运转时毛病大概级联毛病,怎样保证API的平安?
可了解性:代码是不是明晰易懂?
计划的每步中,Gamma和Beck都面对着两难选择,好比可用性与可保护性、可了解性与分离性。在一切的选择中,他们接纳的都是复杂可用的线路,即使这意味着要保持主要的方针。因而,他们的计划使得编写单位测试变得很简单。但我仍是要问一问,假如利用AOP的话,可否制止个中一部分计划弃取呢?
如许问大概看起来不敷合情合理,有些过于苛求。JUnit把本人的工作做得很好,计划中的弃取被良多开辟职员所懂得,并以为是很一般的做法。要看看AOP可否做得更好,我必需问本人一些成绩,例如说,可否增添更多的特征,使其更合适那些必要更多服务但不克不及满意JUnit最最少请求的客户。我如许做不是为了改动JUnit,而是要在到达次要方针的同时不保持主要的计划方针。
本文中一切的例子都利用了AspectJ,但也可用于其他AOP办法,并且即便刚打仗AspectJ,这些例子也很简单了解。(现实上,浏览过CooksTour大概懂得计划形式,大概要比您利用过AspectJ或JUnit更有匡助。)
<p>
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点

飘飘悠悠 发表于 2015-1-20 14:30:11

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

灵魂腐蚀 发表于 2015-1-29 09:07:55

是一种突破用户端机器环境和CPU

若天明 发表于 2015-2-6 00:09:47

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

若相依 发表于 2015-2-14 12:53:57

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

莫相离 发表于 2015-3-4 06:36:08

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

愤怒的大鸟 发表于 2015-3-19 04:30:00

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

第二个灵魂 发表于 2015-3-27 08:08:06

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
页: [1]
查看完整版本: 来看AOP@Work: 计划切进点来制止形式麋集