读书笔记-分层架构

来源:互联网 发布:java服务器是什么 编辑:程序博客网 时间:2024/05/20 03:40

分层架构 也叫 N层架构

  分层架构模式里的组件被分成几个平行的层次,每一个层都代表了应用的一个功能(展示逻辑或者业务逻辑)
  

大多数结构分成四层

  ・展示层

              展示层负责处理所有界面展示以及交互逻辑

  ・业务层

              业务层负责处理请求对应的业务

  ・持久层

              持久层又叫数据访问层,是和数据直接打交道的层,持久层把数据保存到可以保持的存储设备中

   ・数据库层

突出特点

组件间关注点分离。

     一个层中的组件只处理本层的逻辑,层与层之间都是相互独立的,例如展示层只会处理展示逻辑,业务层中的组件只会处理业务逻辑。

这样的应用变的更好的开发,测试,管理,维护。

注意事项

1.分层架构是一个很可靠的架构模式,它适合大多数的应用。如果不确定在项目中使用什么架构,分层架构是再好不过的了。
2.污水池反模式 architecture sinkhole anti-pattern 
       在这个模式中请求流只是简单的穿过层次。比如说界面响应了一个获得数据的请求,响应层把这个请求传递给了业务层,业务层也只是传递了这个请求到持久层,
持久层对数据库做简单的SQL查询获得用户的数据,这个数据按照原理返回,不会有任何的二次处理,返回到界面层。
每个分层架构或多或少都可能遇到这样的场景,关键在于这样的请求有多少。80-20原则可以帮助你确定架构是否处于反污水模式。大概有百分之二十的请求仅仅是做简单的穿越,百分之八十的请求会做一些业务逻辑操作。然而如果这个比例反过来,大部分的请求都是仅仅穿过层,不做逻辑操作那就是反污水模式。那么开放一些架构层会比较好,不过由于缺少了层次隔离,项目会变得难以控制。

优点

结构简单,容易开发
    拥有不同技能的程序员可以分开开发不同的层,分工合作
可测试性高
    开发者可以单独模拟一个展示组件,对业务组件进行隔绝测试。还可以模拟业务层来测试某个展示功能。

缺点

整体灵活性低
    适应环境变化时,代码的修改比较费时费力
易于部署低
    一个组件的小小改动可能会影响整个程序的发布
可扩展性低
   由于这种模式以紧密耦合的趋势在发展规模也较大,用分层架构构建的程序比较难以扩展
性能低
  这个模式特点导致无法带来高性能,因为每一次业务请求要穿越所有的架构层,做了很多不必要的工作。

0 0
原创粉丝点击