分层

  • 分层的组织方式
    • 好处:减小了层次间的依赖.某层只依赖于其下一层.可以替换某层的实现.
    • 缺陷:可能带来级联修改.过多的层次影响性能.
    • 难点是决定建立那些层次,以及每一层的职责是什么.
  • tier/layer
    • tier意味着物理上的分离.C/S系统被称为"two-tier system'.是指物理上的两台机器.
    • layer.强调的是逻辑上独立的层次.
  • 基本层次
    • 表现层/领域层/数据源层
    • 领域和数据源层不能依赖表现层,不能调用表现层的代码.这样替换表现层代价最小,修改表现层的连锁反应最小.
  • 各层次的运行环境
    • 领域逻辑
      • 可以完全放在C或者S中.
      • 尽量不要分割放在C和S.可以将部分逻辑独立出来.然后在C或S端运行.
  • 组织领域逻辑
    • 事务脚本
      • 每个动作由一个过程驱动.
    • 领域模型
      • 解决复杂的逻辑必然要引入对象.
      • 带来了到数据源层的复杂性.
    • 表模块
      • 与记录集一起工作.
      • 围绕表来组织领域逻辑.
    • 服务层
      • 将领域层分为两层:服务层+底层的领域模型/表模块
      • 表现层与领域层的交互完全通过服务层.
      • 服务层可以放置事务控制和安全.
      • 应该最小化服务层,只是一个API传递层,并附加上适当的逻辑.

你可能感兴趣的:(分层)