使用Seppia创建模块化应用程序

发表于:2007-06-20来源:作者:点击数: 标签:
下一页 1 2 3 4 摘要: 我们需要一个工具将独立 开发 的组件整合成一个精心设计的最终产品。这个工具能够协调好体系结构中各个主要的子系统。由于提倡在非常模块化的环境下的快速开发,这个工具应该易于理解。Seppia就是为这些目标设计的。 软件开发已经发生

下一页 1 2 3 4 

   

摘要:

    我们需要一个工具将独立开发的组件整合成一个精心设计的最终产品。这个工具能够协调好体系结构中各个主要的子系统。由于提倡在非常模块化的环境下的快速开发,这个工具应该易于理解。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


在这个例子中,WordFinder.js和SentenceAnalyzer.js是这个模块的切入点。

    本文中,我们将使用Seppia技术创建一个具有丰富功能的应用程序。我们将使用一些开源产品,并向你展示如何将它们整合成为一个完美的产品。

但在我们开始前,我们知道更多关于Seppia是怎么工作的。

快速开始Seppia
Seppia的二进制版本由下面的目录结构组成:

+--- jars          // contains the jars to bootstrap seppia.
+--- modules       // contains the modules. Initially there
                       is only one module,  "org.Seppia.bootstrap"
+--- StartUp.class // the class to run seppia.


    我们先假设已经安装了最新版本的Seppia在c:\myFirstSeppia文件夹中。(注意:这里假设你是一个Windows用户。这样做主要是为了便于保持简洁的格式,也易于将其中的路径转换到其它系统中。)
使用下面的命令运行Seppia:

c:\myFirstSeppia\>java -cp . StartUp
输出为:
Seppia suclearcase/" target="_blank" >ccessfully installed at URL file:/C:/myFirstSeppia/ 

    信息"successfully installed"来自于模块Org.seppia.bootstrap中的JavaScript文件StartUp.js。Seppia是通过硬编码查找org.seppia.bootstrap和执行StartUp.js。这就是说StartUp.js是我们首先要了解的。它的源代码是:

function main()
{
   java.lang.System.out.println(
      "SEPPIA successfully installed at URL "+module.environment.url);
}



如果你想要编辑这个文件,你可以很容易地将它转变为一个"Hello World" Swing信息:

var JFrame = Packages.javax.swing.JFrame;

function main()
{
    var frame = new JFrame("Hello World");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(360,80);
    frame.setVisible(true);
}



当你重新启动Seppia时,你将会看到像图 1这样的窗口:
使用Seppia创建模块化应用程序(图一)
图 1. Seppia中的"Hello World"

原文转自:http://www.ltesting.net