【学习】Web应用程序分层设计的要点浅析

本文介绍了一种自上而下的软件架构设计方法,详细阐述了表现层、服务层、业务层和数据层的设计原则与注意事项。文章强调了各层间的职责划分,以及如何通过合理的架构设计提高系统的可维护性和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



自上而下的设计方式:
  • 表现层
  1. 分离UI组件与表现的逻辑,UI组件最好使用标准的HTML控件。
  2. 对于Web应用程序来说,一般由服务端控件与客户端控件组成。通常,所有的表现逻辑都存在于服务端控件中,客户端控件仅仅是显示为HTML页面。
  3. 如果采用了基于ajax的客户端技术,就可以把表现逻辑放在客户端来实现,这样也可以提高用户体验。在这种情况下,即便是客户端做了各种数据操作的验证,在提交到服务端后,还要重新进行验证,因为所有的客户端验证都很可能会被轻而易举地恶意地改写、被规避掉。

  • 服务层
  1. 设计分离的服务层,一方面可以分布式部署业务层,另一方面可以发布为Web服务。
  2. 如果要修改服务层的接口,那么尽量不要修改原有的接口,不然这样很可能会破坏已经使用它们的客户端的行为。取而代之,可以在服务层设计新版本的接口,让需要的客户端来连接。
  3. 如果业务层是分布式结构,那么应该尽量减少对服务层的请求(通信来往)次数,比如把多次细微的请求(增删改操作各请求一次)替换成一次较大的请求。
  4. 保证多次同样的请求只会被处理一次,还要保证不同顺序的请求能够得到对应的处理(我不知道这里该怎么去设计。。。)

  • 业务层
主要有业务逻辑,工作流控制,业务实体三类模块。
  1. 分离业务逻辑与工作流控制,将会有效地提升可维护性及可测试性,并且可以让开发员集中管理并重用通用的业务逻辑。
  2. 用现实世界的事物表达业务实体,并在组件间传递它们。
  3. 把业务层设计为无状态形式,这将有助于降低资源的消耗、提高性能。并且可以考虑使用基于消息的接口。
  4. 如果在业务层中要进行很重要的业务操作,那么,使用事务以维持完整性,并可阻止丢失数据。

  • 数据层
  1. 使用分离的数据层,有助于程序可以相对容易地配置与维护,并对其它层隐藏了数据库的细节,让其它层更专注于自己的设计与功能。
  2. 设计数据实体对象,以便数据层本身可以生成并更新数据源。
  3. 设计数据传输对象(DTO),这样可以在与其它层进行交互并传递数据。
  4. 利用连接池的优势,减少开放着的连接的个数。
  5. 考虑使用批处理(比如存储过程)以减少对数据库的请求(通信来往)次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值