主要观点总结
文章主要讨论了扩展性的概念及其在软件系统设计中的应用。文章通过冯诺依曼体系结构、计算机启动过程和电商系统微型状态机的例子来阐述扩展性的原理和重要性。扩展性指的是以一种不变的能力满足多种应用的需求。在不同的例子中,“不变的能力”具体指的是CPU识别和执行指令、跳转指令引导CPU执行指定区域程序的能力以及根据配置的状态转换结构执行handler的能力。而“多种应用的需求”则体现在构造出影响生活的方方面面和色彩斑斓信息世界的各种应用程序、根据场景按需裁剪或加载程序以及电商模式下各种订单状态的多种状态转换的需求。
关键观点总结
关键观点1: 扩展性的概念
扩展性是指以一种不变的能力满足多种应用的需求,是软件系统设计中的重要原则。
关键观点2: 冯诺依曼体系结构的扩展性
冯诺依曼体系结构的扩展性体现在CPU识别和执行指令集的能力上,能够编制出影响生活的各种应用程序。
关键观点3: 计算机启动过程的扩展性
计算机启动过程的扩展性体现在跳转指令引导CPU执行指定区域程序的能力上,能够根据场景按需裁剪或加载程序。
关键观点4: 电商系统微型状态机的扩展性
微型状态机通过配置化的方式解决复杂状态转换的逻辑问题,其扩展性体现在根据配置的状态转换结构执行handler的能力上,满足各类电商模式下各种订单状态的多种状态转换的需求。
文章预览
做软件系统设计或代码设计,经常会提到扩展性。 扩展性,到达是在谈什么呢? 简单来说:扩展性,是指以不变应万变的特性,即以一种不变的能力可以满足多种应用的需求。 所以,在做软件架构设计、系统模块设计和代码实现时,需要分析清楚 “不变的能力” 是什么和 “多种应用的需求” 是什么。 冯诺依曼体系结构 我们对信息技术追本溯源,从最初的冯诺依曼体系结构来聊扩展性。 冯诺依曼体系结构本身很简单,但从事很多领域很长时间的软件架构设计和代码开发之后,再来分析冯诺依曼体系结构,会发现它最大的奥秘之一是其扩展性。冯诺依曼体系结构见下图。 输入设备与输出设备统称 “外设”,包括手表、洗衣机、冰箱、汽车、无人机等目前已经影响我们日常生活的各类设备; 存储器,专指可与中央处理器直接交互的内部存储器(
………………………………