• 架构之美随笔五------语言与架构


      “美”作为软件架构的口号,并不是由旁观者来判定的。其实早就存在一些明确的标准。

      可靠性 该架构能否帮助我们创建出正确、健壮的软件。

      可扩展性 应对变化是否很容易。

      复用性 该解决方案是否具有同样性,或者甚至可以将其作为一个组件直接插入到新的应用程序中,而无需做定制开发。

      这部分内容,作者从之前所概括的软件架构评价标准入手,对面向对象和面向函数两种方法进行比较。从反方向来论证它们之间的关系:面向对象的架构融合了函数式编程的思想,特别是吸纳了诸如Eiffel中的代理之类的新技术之后,在保留了其优点的同时克服了其缺点。要证明这些发现是否合格,作者提出了几点限制:

      缺少的数据点、细节不足、具体关注以及实验者的偏见。

      面向对象视图

      组合子很好,单类型更好:到目前为止,我们处理的都是操作和组合子。操作我们将保留,而关键是抛弃组合子并将它们替换为类型。它将明显的提升抽象等级。

      面向对象方法对于模块性目标的最本质贡献是继承。继承采用了“分类法”组织类,大概可以表示为“is-a”关系,类之间的基本关系还有一种名为“客户”的关系,它表示某类将通过其API来使用该类。

      面向对象模块性的评价和改进

      复用操作:使用继承的原则之一是将公共性放在可应用的最高等级上,这样子孙类中就无需重复它们;也就是说继承关系就是“as is”。

      可扩展性:添加类型

      可扩展性:添加操作

      

      在第十四章,"重读经典"作者提到所有东西都是对象。今天流行的面向对象计算机语言并不是纯面向对象的。这章作者主要通过大量的实例让我们了解哪些经典的“架构”。

      

  • 相关阅读:
    python基础之函数
    MySQL 安装 5.0
    MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
    安装MYSql Windows7下MySQL5.5.20免安装版的配置
    网站集合
    andorid 开放工具集合
    Win7 x64 Eclipse无法识别手机 / adb interface有黄色感叹号,无法识别
    字符集 ISO-8859-1(3)
    字符集 ISO-8859-1(2)
    字符集 ISO-8859-1(1)
  • 原文地址:https://www.cnblogs.com/Againzg/p/6403211.html
Copyright © 2020-2023  润新知