基于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)
提供数据存取和数据保存服务
上述设计的一些说明:
表示层(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)
以上仅限个人的一些想法,请大家讨论。