诊断Java代码: 筹划可扩大操纵程序,第3部份[Java编程]
本文“诊断Java代码: 筹划可扩大操纵程序,第3部份[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
对应于我们上一篇“ 诊断 Java 代码”中所谈论的透明盒可扩大性,黑盒可扩大性是指,在源代码既不能查看也不能改正时,可以扩大软件系统的办法.普通通过系统配置或利用特定于利用程序的脚本语言来举行这样的扩大.在本专题中,Eric Allen 谈论了什么时刻计划黑盒可 扩大性的系统是有意义的,并供应了若何有效地实现这一计划的一些设法.阅读了本文后,您将知道什么时刻利用黑盒并掌握若何实现它的一些本领.
我已在从前的文章中谈到了代码重用计划战略的重要性(主如果因为各种信息处理任务的差别和呼应费用的增添),所以假如您已肯定将系统可扩大性作为您的目标,那么请先问一下自己“系统的可扩大性应当到达什么程度,我能实现怎样的可扩大?”然后,考虑下列方面:
对增添可扩大性的衡量,因为增添扩大性大概会降低性能或测试本领.
普通,测试性最好的系统就是最简单的系统;增添可扩大性常常增添了复杂性.
筹划成功的可扩大计划的一个关键知识是,要知道您筹划今后若何扩大系统.
在本系列的 第一篇文章中,我曾概述了系统可以显现的可扩大性的各种情势 ― 黑盒计划与两种 白盒计划( 透明盒与 开放盒). 第二篇文章中,我具体介绍了透明盒可扩大性的利用及实现,透明盒是一种得当的介于黑盒与开放盒计划之间的计划办法.
这个月,我但愿持续我们的“观光”,展开谈论黑盒可扩大性.
在黑盒中摸索方向
黑盒计划是一种可扩大性,它触及到定制利用程序的用户配置,使该利用程序以对特定环境最有效的方法履行.当用这种办法扩大利用程序时,就没必要查看原始的源代码了.
我们都利用过供应这种可扩大性的利用程序.比方,下面这两个利用程序:
Netscape 的插件功效
在用 Emacs Lisp 配置方面,Emacs 具有没有限本领
近期,几近每个新的利用程序都供应了某种程度的黑盒可扩大性.
若何辨认一个配置脚本
在持续之前,让我尝试辨别配置脚本与程序的别的输入之间的差别.不幸的是,这里真的没有什么明显的差别.程序承受的一组输入(及程序注释这些输入的办法)都可以并且应当视作一种语言.但是您应当理解配置脚本的几个明显特点.
与别的程序输入(每次利用利用程序时,都可以改变程序输入)差别,配置脚本趋向于更为安定.这些脚本普通有一些缺省值,这些缺省值最初将由用户设置,并在很长一段时间内不会重置这些值.实际上,常在最初安装程序时设置这样的脚本.更改脚本的缺省值极大概会对程序在别的输入上的行为有庞大影响.并且,因为永久 存储这些输入的值,所以在随后的程序调用中会检索它们.
明智地挑选配置
目前,您大概询问的下一个问题是“什么时刻向利用程序增添这种可扩大性是有意义的呢?”
答案并非是增添尽大概多的可扩大性.毕竟,这种办法的终究后果是:给定得当的脚本(近似于 �berapplikation),单个利用程序就会履行用户所需的每个任务.
可以论证,开辟环境属于这一类,但是用户/开辟人员所需的“脚本”大概会非常长且复杂.这个极度示例阐明了对黑盒可扩大性的基本衡量 ― 利用程序供应的黑盒可扩大性越强,用户针对特定环境而配置它所必须履行的工作就越多.
普通,最好对利用程序肯定的要求范围更窄一些,但仍可以通用,然后再针对更具体的环境.正如很多“极限编程(Extreme Programming)”小组所演示的那样,缩小项目的范围极大概还会使您真正地成功完成项目(并且还是准时的!).
以上是“诊断Java代码: 筹划可扩大操纵程序,第3部份[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |