摘要:
我们需要一个工具将独立开发的组件整合成一个精心设计的最终产品。这个工具能够协调好体系结构中各个主要的子系统。由于提倡在非常模块化的环境下的快速开发,这个工具应该易于理解。Seppia就是为这些目标设计的。
软件开发已经发生了变化。开发者不再是从头开始开发大型系统,而是通过装配已有的组件。许多产品无论是开源的还是非开源的,现在都已经足够稳定,能在这些组件上面开发应用程序。开发者已经疲于重新开发已有的代码,而是开始利用这些组件来开发程序。这是非常好的,这就像面向对象的软件开发所作的一个承诺:重用性。但是,装配独立的开发好的组件不是一个简单的任务,假如处理不得当,它可能导致复杂的整合问题,及紧耦合代码问题。
现在我们需要一个工具将独立开发的组件整合成一个精心设计的最终产品。这个工具能够协调好体系结构中各个主要的子系统。由于提倡在非常模块化的环境下的快速开发,这个工具应该易于理解。这个工具应该让你在添加尽量少额外编码的情况下,完成从已有组件整合为应用程序的工作。并且它应该能尽量简化为高定制应用程序开发的特定功能。
Seppia就是为这些目标设计的。
版权声明:任何获得Matrix授权的网站,转载时请务必保留以下作者信息和链接
作者:cicitgd;cicitgd;cicitgd at hotmail.com
原文:http://www.matrix.org.cn/resource/article/2006-11-06/Seppia_778860da-6d27-11db-bdce-bdc029e475a1.Html
要害字:Seppia;模块化
Seppia简介
Seppia是一项简单的Java技术,用于从组件创建Java应用程序。构建Seppia是围绕模块概念的。一个模块是系统中的一个自包含的(独立的)部分。模块以文件夹的形式存储。比方说一个文字处理器,它在Seppia中包含以下这些模块:
+ modules
+-- org.hypotheticalWordproc.spellchecker
+-- org.hypotheticalwordproc.ui-swing
+-- org.hypotheticalwordproc.io
+-- org.hypotheticalwordproc.searchengine
+-- ...
在这个模型中,每个模块的职责是为系统只提供一个特定的功能。
每个模块的行为被分成Java代码和javascript代码。Java代码保存在.jar文件中,为与JavaScript代码协同工作提供API。JavaScript代码保存在.js文件中,定义了模块提供的服务。
spellchecker模块如下:
+-- org.hypotheticalwordproc.spellchecker
+-- jars
+--- jazzy.jar // open source Java API.
+-- javascripts
+--- WordFinder.js
+--- SentenceAnalyzer.js
+--- ...
+--- dictionaries
+--- english.dic
+--- france.dic