基于Swing的三层应用程序体系结

基于Swing的三层应用程序体系结构

说明:

此文章中的图表都有Dia完成,更多详细信息参看:http://projects.gnome.org/dia/

何谓三层(http://en.wikipedia.org/wiki/Multitier_architecture)

1. 表示层(PresentationLayer)

用于向用户提供交互(输入和输出)用的画面(Frame或者HTML页面等)

2. 业务逻辑层(Logic Layer)

用于完成核心的业务逻辑计算

3. 数据层(Data Layer)

提供数据存取和数据保存服务

基于Swing的三层应用程序体系结_第1张图片

上述设计的一些说明:

表示层(PresentationLayer)

1. Client App

用户看到,可操作的客户端应用程序,使用WebStart的方式部署,能够自动升级。

管理客户端应用程序的运行

2. Client Frame Engine

根据Layout Store中存储的内容动态生成用户操作界面。

3. RPC Engine

动态调用远程方法(使用二进制协议,支持数据加密)

业务逻辑层(Logic Layer)

1. Facade Layer

Facade模式,用来作为统一的调用接口

2. Layout Store

用来存储画面的布局

参看:

http://www.codeok.com/opensource/java/xmlui/index.shtml

3. Check Store

用来存储特定画面的数据有效性校验

4. Logic Store

用来存储真正的业务逻辑

数据层(Data Layer)

1. Database Engine

提供统一的数据访问接口

2. Database

数据库服务器(Single or Cluster)

以上仅限个人的一些想法,请大家讨论。

你可能感兴趣的:(设计模式,数据结构,应用服务器,swing,OpenSource)