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 服务控制器,是服务之间的纽带,不同服务之间的切换就是通过它来实现的
3、 数据访问层设计
1)五种数据访问模式
1、在线访问
数据访问模式会占用一个数据库连接,读取数据,每个数据库操作都会通过这个连接不断地与后台的数据源进行交互
2、DataAccess Object
DAO模式:将底层数据访问操作与高层业务逻辑分离开
包含组件:
(1)一个D A O工厂类。
(2)一个D A O接口。
(3)一个实现了D A O接口的具体类。包含访问特定数据源的数据的逻辑
(4)数据传输对象
3、Data Transfer Object
D T O本身是这样一组对象或是数据的容器,它需要跨不同的进程或是网络的边界来传输数据
4、离线数据模式
以数据为中心。离线,对数据的各种操作独立于各种与后台数据源之间的连接或是事务;与 X M L集成,数据可以方便地与X M L格式的文档之间互相转换;独立于数据源
5、对象/关系映射ORM
对象/关系映射,将应用程序中的数据转换成关系型数据库中的记录
2)事务处理设计
事务必须服从 ISO/IEC所制定的ACID原则
原子性(Atomicity)、 一致性(Consistency)、 隔离性 (Isolation) 和持久性 (Durability)
事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。
一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。
隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。
持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确
3)连接对象管理设计
数据库资源池。该模式正是为了解决资源频繁分配、释放所造成的问题
4、数据架构规划与设计
1、数据库设计与类的设计融合
建立数据模型
2、数据库设计与 X M L 设计融合
以数据为中心的文档:以数据库存储
以文档为中心的文档:以文件存储
6、物联网层次架构设计
1、感知层
利用传感器、二维码、 RFID等设备随时随地获取物体的信息
2、网络层
数据传输处理,通过各种传感网络与互联网的融合
3、应用层
实现广泛智能化。解决的是信息处理和人机交互的问题