《架构即未来》读后感3

  所有前面的方法都有助于我们判断一个架构是否“足够好”—也就是说,是否有可能指导开发者和测试者构建一个系统,并满足系统的利益相关人的功能和质量关注点。在我们每天使用的系统中存在着许多好的架构。

     获得商业上的成功、影响其他产品线的架构(其他产品线可能“借用、复制、窃取”这个架构)、拥有足够的文档从而让其他人“不必通过道听途说”就能够理解该架构。我们将为更一般的“架构名人堂”或“美丽架构艺术馆”的候选者设立怎样的条件呢?首先我们应该认识到,这是一个软件系统的艺术馆,而不是其他艺术馆,我们的系统构建的目的是为了使用。所以,我们也许从一开始就应该关注该架构的实用性:它应该每天被许多人使用。

             但是,在使用架构之前,它必须先构建,所以我们应该关注该架构的可构建性。我们会寻找那些具有定义良好的使用结构的架构,它们支持增量式构建,这样,通过每次构建迭代我们都能得到一个有用的、可测试的系统。我们也会寻找那些具有定义良好的模块接口、本来就很好测试的架构。

        接来下,我们想寻找那些展示了持久性的架构—也就是说,那些经过了时间考验的架构。我们生活在一个技术环境以从未有过的加速度变化的年代。美丽的架构应该预期到
变更的需要,允许期望的修改能够容易而有效地进行。我们想寻找那些避免了“衰老地平线”(Klein 2005)的架构,超过了这条“衰老地平线”,维护将变得代价极大,以至于不可能进行。
         最后,我们还想寻找这样一些架构,它们的特征让使用、构建、测试这些架构的开发人员和测试人员,以及由它而形成的系统的用户感到由衷的高兴。

         不同的系统和应用领域为这些架构提供了许多机会,展示它们特有的令人高兴的特征,但概念完整性是一项跨越所有领域的特征,并且总是让人感到高兴。一致的架构学习起来更容易、更快,当知道了一点之后,你就可以开始预测其余的部分。不需要记住并处理特殊的情况,代码更干净,测试集更小。一致的架构不会为做同一件事情提供两种(或更多)方法,不会让用户浪费时间进行选择.

原文地址:https://www.cnblogs.com/990906lhc/p/13098750.html