【学习】Web应用程序分层设计的要点浅析
来源:互联网 发布:求质数的算法 编辑:程序博客网 时间:2024/06/04 18:22
自上而下的设计方式:
- 表现层
- 分离UI组件与表现的逻辑,UI组件最好使用标准的HTML控件。
- 对于Web应用程序来说,一般由服务端控件与客户端控件组成。通常,所有的表现逻辑都存在于服务端控件中,客户端控件仅仅是显示为HTML页面。
- 如果采用了基于ajax的客户端技术,就可以把表现逻辑放在客户端来实现,这样也可以提高用户体验。在这种情况下,即便是客户端做了各种数据操作的验证,在提交到服务端后,还要重新进行验证,因为所有的客户端验证都很可能会被轻而易举地恶意地改写、被规避掉。
- 服务层
- 设计分离的服务层,一方面可以分布式部署业务层,另一方面可以发布为Web服务。
- 如果要修改服务层的接口,那么尽量不要修改原有的接口,不然这样很可能会破坏已经使用它们的客户端的行为。取而代之,可以在服务层设计新版本的接口,让需要的客户端来连接。
- 如果业务层是分布式结构,那么应该尽量减少对服务层的请求(通信来往)次数,比如把多次细微的请求(增删改操作各请求一次)替换成一次较大的请求。
- 保证多次同样的请求只会被处理一次,还要保证不同顺序的请求能够得到对应的处理(我不知道这里该怎么去设计。。。)
- 业务层
主要有业务逻辑,工作流控制,业务实体三类模块。
- 分离业务逻辑与工作流控制,将会有效地提升可维护性及可测试性,并且可以让开发员集中管理并重用通用的业务逻辑。
- 用现实世界的事物表达业务实体,并在组件间传递它们。
- 把业务层设计为无状态形式,这将有助于降低资源的消耗、提高性能。并且可以考虑使用基于消息的接口。
- 如果在业务层中要进行很重要的业务操作,那么,使用事务以维持完整性,并可阻止丢失数据。
- 数据层
- 使用分离的数据层,有助于程序可以相对容易地配置与维护,并对其它层隐藏了数据库的细节,让其它层更专注于自己的设计与功能。
- 设计数据实体对象,以便数据层本身可以生成并更新数据源。
- 设计数据传输对象(DTO),这样可以在与其它层进行交互并传递数据。
- 利用连接池的优势,减少开放着的连接的个数。
- 考虑使用批处理(比如存储过程)以减少对数据库的请求(通信来往)次数。
- 【学习】Web应用程序分层设计的要点浅析
- 【学习】富客户端应用程序(RCA)分层设计的要点浅析
- Java WEB分层设计 学习之一
- web设计分层
- Java web分层设计
- 应用程序的分层
- 应用程序的分层体系结构
- 关于网站分层设计的学习
- 学习分层设计有感
- WEB应用中间层的分层架构设计总结
- 分层设计的好处
- div的分层设计
- Vulkan的分层设计
- 浅析netvibes.com的web设计
- 浅析企业移动Web架构的设计
- 细节决定成败——Web设计的5个要点
- 细节决定成败——Web设计的5个要点
- 提升Web用户体验的71个设计要点
- 关于《MySQL 必知必会》的学习2
- 该死的 IE 不支持的css
- SAP和Java系统的Webservice实例
- Android原理揭秘系列之View、ViewGroup
- 浮躁~~~
- 【学习】Web应用程序分层设计的要点浅析
- 一起来学信息安全知识(1)——一个小故事的大道理
- windows名字解析之二 — 使用NetBIOS协议(动态映射)
- strtok()函数与strtok_r()函数
- 毕业后的日子一直在工作和睡觉中重复,看到这篇文章突然醒悟生活不能在这样的重复中渐渐失去色彩~(转帖)
- About Exception
- 处理内存警告的总结
- Win32汇编——过程控制(进程调试和进程隐藏)
- 二、变量