1. 分层优缺点:
  1)优点:
    在无需过多了解其他层次的基础上,可以将某一层作为一个有机整体来理解;
    可以替换某层的具体实现,只要前后提供的服务相同即可;
    可以将层次间的依赖性减到最低;
    分层有利于标准化工作;
    一旦构建好了某一层次,就可以用它为很多上层服务提供支持
  2)缺点:
    层次并不能封装所有东西,有时会带来级联修改;
    过多层次会影响性能;
    决定建立那些层次以及每一层的职责是什么难以决定


2. 企业应用中层次的演化:
  C/S(领域逻辑放在客户端) -> 领域逻辑放到数据库,作为存储过程 -> 三层架构:表现层 + 领域层 + 数据源层


3. 三个基本层次:
  职责如下:

  
  其中,领域层,也称为业务逻辑。它的相关工作:对表现层输入的数据进行验证,根据输入数据或已有数据进行计算,根据从表现层接收到的命令来确定应该调度那些数据源逻辑


4. 为各层选择运行环境:
  1)运行环境:
    数据源层:服务器
    表现层:胖客户,客户端;web:服务器端 (只要可能就用web表现方式,只在必须的情况下才使用胖客户方式)
    领域层:全部运行在服务器端,或者全部运行于客户端,如果必须要分离则至少保证相关的部分在一起
  2)一旦选择了处理节点,尽可能使所有代码保持在单一进程内完成(可能拷贝在集群中的多个节点上),否则不但损失性能,还会增加复杂性
  3)复杂性增压器:分布、显示多线程、范型差异(如对象/关系)、多平台开发以及极限性要求