软件架构设计系列总结—3—逻辑层 vs 物理层
来源:互联网 发布:mac os 启动出现j 编辑:程序博客网 时间:2024/06/08 14:46
Layer 和Tier都是层,但是他们所表现的含义不同,Tier指的是软件系统中物理上的软件和硬件,具体指部署在某服务器上,而Layer(逻辑层)指软件系统中完成特定功能的逻辑模块,逻辑概念。
Layer是逻辑上 组织代码的形式。比如逻辑分层中表现层,服务层,业务层,领域层,他们是软件功能来划分的。并不指代部署在那台具体的服务器上或者,物理位置。
Tier这指代码运行部署的具体位置,是一个物理层次上的划为,Tier就是指逻辑层Layer具体的运行位置。所以逻辑层可以部署或者迁移在不同物理层,一个物理层可以部署运行多个逻辑层。
从Layer和Tier就会延伸到逻辑架构和物理架构。我们一个逻辑分层(N-Layer)的部署运行环境可以在一台或者是多台服务器,由于物理环境的多样性,逻辑层次的部署也具有多样性。这就需要我们必须了解物理架构和逻辑架构。
大多数情况下我们所说的N层应用系统指的是物理模型,具体模块的分布物理位置。客户端,服务层,逻辑层,数据库服务器,与我们的逻辑模型之间并不是一对一的关系。逻辑上的分层架构与物理位置上的服务器数量和网络边界多少无关,逻辑架构层次只与我们的功能划分相关,是按照功能划分。经典的3-Layer架构:表现层,业务层,数据访问层,他们可能运行在同一物理位置上。也可以是3台计算机上,这并不是逻辑架构所关注的。逻辑层次和物理分层数量关系为:逻辑层数必须不小于物理层数,因为一个物理层可以部署一个或者多个逻辑层次,逻辑层次只能迁移在不同的物理环境。
逻辑层次的架构能帮助我们解决逻辑耦合,达到灵活配置,迁移。
一个良好的逻辑分层可以带来:
- 逻辑组织代码
- 易于维护
- 代码更好的重用
- 更好的团队开发体验
- 代码逻辑的清晰度
一个良好的物理架构可以带来:
- 性能的提升
- 可伸缩性
- 容错性
- 安全性
逻辑层次越多会影响程序运行的性能,但代码层次的低耦合,松散化,是需要架构师的权衡的,我觉得一般应用程序的瓶颈并不在这里。
- 软件架构设计系列总结—3—逻辑层 vs 物理层
- 软件架构设计系列总结—3—逻辑层 vs 物理层
- 架构设计--逻辑层 vs 物理层
- 软件架构设计系列总结—6—业务逻辑层简述
- 软件架构设计系列总结—6—业务逻辑层简述
- 架构设计--逻辑层 vs 物理层(转自博客园)
- 软件架构设计系列总结—4—服务层的简单理解
- 软件架构设计系列总结—8—数据访问层简述
- 软件架构设计系列总结—10—表现层模式-MVC
- 软件架构设计系列总结—4—服务层的简单理解
- 软件架构设计系列总结—8—数据访问层简述
- 软件架构设计系列总结—10—表现层模式-MVC
- 软件架构设计系列总结—写在前面
- 软件架构设计系列总结
- 软件架构设计系列总结—5—SOA面向服务架构简述
- 软件架构设计系列总结—5—SOA面向服务架构简述
- 软件架构设计系列总结—1—面向对象设计原则理解
- 软件架构设计系列总结—7—设计箴言理解
- poj 2135 简单费用流
- 软件架构设计系列总结—2—一些软件设计的原则
- 红尘陌上,为谁一抹忧伤:QQ伤感日志
- LINUX命令简写
- jquery 隔行显示
- 软件架构设计系列总结—3—逻辑层 vs 物理层
- JavaScript 闭包(closure)
- 软件架构设计系列总结—4—服务层的简单理解
- 怎么从一个long型数组构建一个VARIANT结构
- 软件架构设计系列总结—5—SOA面向服务架构简述
- JSCharts 3 去掉LOGO方法
- 软件架构设计系列总结—6—业务逻辑层简述
- Android 记录和恢复ListView滚动的位置的三种方法
- 软件架构设计系列总结—7—设计箴言理解