1、表现层
1)MVC模式
1、控制器:接受用户的输入并调用模型和视图去完成用户的需求
2、模型:应用程序的主体部分。模型表示业务数据和业务逻辑
3、视图:用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户输入的数据。视图可以向模型查询业务状态,但不能 改变模型
优点:
1、允许多种用户界面的扩展,只需改动视图、控制器。无需调整模型
2、易于维护
3、功能强大的用户界面
2、MVP模式
Controller/ Presenter 负责逻辑的处理, Model提供数据, View负责显示
在MVP 中 View并不直接使用 Model, 它们之间的通信 是通过 Presenter来进行的
3、MVVM模式
为解决MVP 中U I种类变多,接口也会不断增加的问题而提出的
模型-视图-视图模型。
通过DataBinding实现View与 Model之间的双向绑定,其内容包括数据状态处理、数据绑定及数据转换
View和 Model 不能直接通信,两者的通信只能通过ViewModel 来实现。 ViewModel通常要实现一个观察者,当数据发生变化, ViewModel 能够监听到数据的变化,然 后通知对应的视图做自动更新;而当用户操作视图, ViewModel 也能监听到视图的变化,再通 知数据做改动,从而形成数据的双向绑定。
更适用于数据驱动的场景
4、使用XML设计
XML (可扩展标记语言)与 HTML 类似,是一种标记语言。适用于Android、WinForm,灵活的页面配置
主要三部分:
1)界面配置:对用户界面的静态定义
2)界面动态生成
3)界面定制:对用户界面的动态修改过程,软件运行过程中,支持用户动态修改后,保存样式、
5、UIP设计思想
应用程序需要维护一个状态,如状态存储在窗体中,代码需要访问这个窗体以重新恢复状态
类似于后台进程,可以重新唤起页面
1)● User Interface Components: 这个组件就是原来的表现层,用户看到的和进行交互都是这 个组件,它负责获取用户的数据并且返回结果。
2)● User Interface Process Components: 这个组件用于协调用户界面的各部分,使其配合后 台的活动,例如导航和工作流控制,以及状态和视图的管理。用户看不到这一组件,但 是这些组件为User Interface Components提供了重要的支持功能。
2、中间层
1、业务逻辑层组件设计
业务逻辑组件分为接口和实现类两个部分。接口:定义业务逻辑组件,面向接口编程
2、业务逻辑层工作流设计
业务流程的全部或部分自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协调工作以达到业务的整体目标。
含6个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、 调用应用和管理监控工具。
1)接口1:过程定义导入/导出接口
2)接口2:客户端应用程序接口
3)接口3:应用程序调用接口
4)接口4:工作流机协作接口。
5)接口5:管理和监视接口
3、业务逻辑层实体设计
以数据为中心的模型到更加面向对象 的表示法。如XML、 通用DataSet、 有类型的 DataSet
通用DataSet对象:
(1)灵活性。 DataSet可以包含数据的集合,能够表示复杂的数据关系。
(2)序列化。在层间传递时, DataSet本身支持序列化。
(3)数据绑定。可以把 DataSet绑定到 ASP.NET应用程序和 Windows 窗体应用程序的任意 用户界面控件。
(4)排序与过滤。可以使用 DataView对象排序和过滤DataSet。 应用程序可以为同一个 DataSet 创建多个DataView对象,以便用不同方式查看数据。
(5)与 XML 的互换性。可以用 XML格式读写 DataSet。
(6)开放式并发。在更新数据时,可以配合使用数据适配器与DataSet 方便地执行开放式 并发检查。
(7)可扩展性。如果修改了数据库架构,则适当情况下数据访问逻辑组件中的方法可以创 建包含修改后的DataTable 和 DataRelation对象的 DataSet。
有类型的DataSet:
包含具有严格类型的方法、 属性和类型定义以公开DataSet中的数据和元数据的类。
(1)代码易读。要访问有类型的DataSet 中的表和列,可以使用有类型的方法和属性。
(2)有类型的方法和属性的提供使得使用有类型的 DataSet 比使用通用 DataSet更方便。使 用有类型的DataSet时, IntelliSense将可用。
(3)编译时类型检查,无效的表名称和列名称将在编译时而不是在运行时检测。
4、业务逻辑层框架
业务框架位于系统架构的中间层,是实现系统功能的核心组件。采用业务容器的形式,便于系统功能的开发、代码重用和管理
1)Domain Model 是领域层业务对象,它仅仅包含业务相关的属性
2)Service 是业务过程实现的组成部分,是应用程序的不同功能单元
3)Control 服务控制器,是服务之间的纽带,不同服务之间的切换就是通过它来实现的
4、 数据访问层设计
未完待续......