读书笔记-分层架构
来源:互联网 发布:java服务器是什么 编辑:程序博客网 时间:2024/05/20 03:40
分层架构 也叫 N层架构
分层架构模式里的组件被分成几个平行的层次,每一个层都代表了应用的一个功能(展示逻辑或者业务逻辑)
大多数结构分成四层
・展示层
展示层负责处理所有界面展示以及交互逻辑
・业务层
业务层负责处理请求对应的业务
・持久层
持久层又叫数据访问层,是和数据直接打交道的层,持久层把数据保存到可以保持的存储设备中
・数据库层
突出特点
组件间关注点分离。
一个层中的组件只处理本层的逻辑,层与层之间都是相互独立的,例如展示层只会处理展示逻辑,业务层中的组件只会处理业务逻辑。
这样的应用变的更好的开发,测试,管理,维护。
注意事项
1.分层架构是一个很可靠的架构模式,它适合大多数的应用。如果不确定在项目中使用什么架构,分层架构是再好不过的了。
2.污水池反模式 architecture sinkhole anti-pattern
在这个模式中请求流只是简单的穿过层次。比如说界面响应了一个获得数据的请求,响应层把这个请求传递给了业务层,业务层也只是传递了这个请求到持久层,
持久层对数据库做简单的SQL查询获得用户的数据,这个数据按照原理返回,不会有任何的二次处理,返回到界面层。
每个分层架构或多或少都可能遇到这样的场景,关键在于这样的请求有多少。80-20原则可以帮助你确定架构是否处于反污水模式。大概有百分之二十的请求仅仅是做简单的穿越,百分之八十的请求会做一些业务逻辑操作。然而如果这个比例反过来,大部分的请求都是仅仅穿过层,不做逻辑操作那就是反污水模式。那么开放一些架构层会比较好,不过由于缺少了层次隔离,项目会变得难以控制。
优点
结构简单,容易开发
拥有不同技能的程序员可以分开开发不同的层,分工合作
可测试性高
开发者可以单独模拟一个展示组件,对业务组件进行隔绝测试。还可以模拟业务层来测试某个展示功能。
缺点
整体灵活性低
适应环境变化时,代码的修改比较费时费力
易于部署低
一个组件的小小改动可能会影响整个程序的发布
可扩展性低
由于这种模式以紧密耦合的趋势在发展规模也较大,用分层架构构建的程序比较难以扩展
性能低
这个模式特点导致无法带来高性能,因为每一次业务请求要穿越所有的架构层,做了很多不必要的工作。
0 0
- 读书笔记-分层架构
- 分层架构
- 分层架构
- 分层架构
- 分层架构
- Duwamish7架构分层分析
- 分层架构文档
- 什么是分层架构模式
- 分层架构之PetShop
- MVC分层架构
- 分层架构浅析
- 了解分层架构
- 关于分层架构
- .net 分层架构
- J2EE分层架构解析
- 什么是分层架构模式
- java分层架构
- SOA-SSH分层架构
- 【jzoj5042】【最小直径】【树形动态规划】【贪心/结论】
- 1042. 字符统计(20)
- C#里partial关键字的作用
- STL适配器之stack
- Spark性能优化指南——基础篇
- 读书笔记-分层架构
- 蓝桥 ADV-230 算法提高 12-1三角形 【数学公式】
- 动态分配二维数组
- 简单的ReactNative工程
- JAVA(5)——1--100被3整除的数
- 常用的三大dll模块
- 1043. 输出PATest(20)
- bzoj2039 [2009国家集训队]employ人员雇佣
- 数据库的垂直划分和水平划分