第二部分 架构风格
第九章 基础
1.列出分布式计算的8个谬误。
网络是可靠的、零延迟、带宽是无限的、网络是安全的、拓扑结构从不改变、只有一个管理员、传输成本为0、网络是同构的。
2.说出三个分布式架构拥有而单片架构所没有的挑战。
分布式日志、分布式事务、契约维护和版本控制。
3.什么是特征耦合?
特征耦合是指两个都与同一个数据结构有关的模块发生的耦合。由于同时使用同一个数据结构,当数据结构变动时,必然影响这两个模块,从而增加模块间的依赖性,降低模块独立性。
4.有哪些方法可以解决特征耦合问题?
在设计模块结构时,应当尽量将数据结构传递修改为数据传递,从而将特征耦合变为数据耦合,降低耦合度。
第十章 分层架构风格
1.开放层和封闭层的区别是什么?
封闭层意味着当一个请求自顶向下从一个层传递到另一个层,请求不能跳过任何层,而是必须通过它下面的层才能到达下一层。开放层意味着允许请求绕过其他层。
2.描述隔离层的概念和这个概念的好处。
分层隔离性意味着在架构的一个分层中所做的更改通常不会影响其他分层中的组件,前提是这些层之间的契约保持不变。分层隔离性允许在不影响任何其他层的情况下替换架构中的任何层。
3.什么是架构污水池反模式?
当请求作为简单的传递处理从一层移动到另一层,而在每一层中不执行业务逻辑时,就会出现这种反模式。
4.驱动你使用分层架构的主要架构特征是什么?
总体成本和简单性。
5.为什么分层架构风格不能很好地支持可测试性?
对于一个简单的三行变更,大多数开发人员不会花几个小时来执行整个回归测试套件,特别在同时对整个应用程序进行许多其他变更的情况下。
6.为什么敏捷性在分层架构风