软件架构设计系列总结—3—逻辑层 vs 物理层

    Layer 和Tier都是层,但是他们所表现的含义不同,Tier指的是软件系统中物理上的软件和硬件,具体指部署在某服务器上,而Layer(逻辑层)指软件系统中完成特定功能的逻辑模块,逻辑概念。

   Layer是逻辑上 组织代码的形式。比如逻辑分层中表现层,服务层,业务层,领域层,他们是软件功能来划分的。并不指代部署在那台具体的服务器上或者,物理位置。

  Tier这指代码运行部署的具体位置,是一个物理层次上的划为,Tier就是指逻辑层Layer具体的运行位置。所以逻辑层可以部署或者迁移在不同物理层,一个物理层可以部署运行多个逻辑层。

   从Layer和Tier就会延伸到逻辑架构和物理架构。我们一个逻辑分层(N-Layer)的部署运行环境可以在一台或者是多台服务器,由于物理环境的多样性,逻辑层次的部署也具有多样性。这就需要我们必须了解物理架构和逻辑架构。

    大多数情况下我们所说的N层应用系统指的是物理模型,具体模块的分布物理位置。客户端,服务层,逻辑层,数据库服务器,与我们的逻辑模型之间并不是一对一的关系。逻辑上的分层架构与物理位置上的服务器数量和网络边界多少无关,逻辑架构层次只与我们的功能划分相关,是按照功能划分。经典的3-Layer架构:表现层,业务层,数据访问层,他们可能运行在同一物理位置上。也可以是3台计算机上,这并不是逻辑架构所关注的。逻辑层次和物理分层数量关系为:逻辑层数必须不小于物理层数,因为一个物理层可以部署一个或者多个逻辑层次,逻辑层次只能迁移在不同的物理环境。

   逻辑层次的架构能帮助我们解决逻辑耦合,达到灵活配置,迁移。

   一个良好的逻辑分层可以带来:

  1. 逻辑组织代码
  2. 易于维护
  3. 代码更好的重用
  4. 更好的团队开发体验
  5. 代码逻辑的清晰度

  一个良好的物理架构可以带来:

  1. 性能的提升
  2. 可伸缩性
  3. 容错性
  4. 安全性

  逻辑层次越多会影响程序运行的性能,但代码层次的低耦合,松散化,是需要架构师的权衡的,我觉得一般应用程序的瓶颈并不在这里。

 
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
总体设计是一个系统设计过程中的重要环节,它包括逻辑架构物理架构、技术架构逻辑层次和关键技术等方面的规划和设计。下面是一个基本的总体设计概述: 1. 逻辑架构: - 系统的逻辑架构描述了系统各个模块之间的关系和功能划分。 - 可以采用分层架构,将系统分为表示层、业务逻辑层和数据访问层等模块,以实现解耦和复用。 2. 物理架构: - 物理架构描述了系统在硬件和网络方面的部署和组织。 - 可以根据实际需求选择合适的服务器、存储设备和网络设备,以保证系统的性能和可靠性。 3. 技术架构: - 技术架构描述了系统所采用的技术和框架。 - 可以选择合适的开发语言、数据库、中间件和其他相关技术工具,以满足系统的需求。 4. 逻辑层次: - 逻辑层次描述了系统各个模块之间的层次关系。 - 可以将业务逻辑划分为核心业务逻辑、公共组件和外部接口等层次,以实现模块化和可维护性。 5. 关键技术: - 关键技术指的是系统设计中的核心技术和关键问题的解决方案。 - 可以根据具体需求选择合适的关键技术,如数据存储和处理、安全性和权限控制、性能优化等方面的技术。 总体设计需要根据实际业务需求和技术要求进行综合考虑,确保系统具备良好的可扩展性、可维护性和性能。在设计过程中,还可以进行系统原型设计和技术评估,以验证设计方案的可行性和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值