首先什么是可扩展设计?是软件架构还是软件中的设计方法?
软件工程中的可扩展设计是接受不 一切都可以提前设计。一个轻量级的软件框架 取而代之的是允许更改。发出小命令 为了防止丢失可扩展性的元素,遵循 将工作元素分成可理解的单元的原则,在 为了避免传统的软件开发问题,包括低 内聚和高耦合,并允许持续发展。 拥抱变化对于可扩展设计至关重要,其中 添加将是连续的。系统的每个部分都是可行的 进行任何更改,通过添加进行更改的想法是 整个系统设计的中心。可扩展设计支持频繁 重新确定优先级并允许以小规模实施功能 按需执行,这是敏捷所提倡的原则 方法论和迭代开发。可扩展性要求更少 和开发过程中更清洁的依赖性,以及减少 耦合和更具凝聚力的抽象,以及定义明确的接口
这种方法的实现是否普遍?
这是一种设计方法。基本上,分解您的工作,以便人类和计算机都能理解它。例如,使用 OOP、有用的变量名、注释和命名良好的方法,而不是编写变量都称为 x 和 y 的单一函数。它是现代软件工程的核心,允许其他人阅读和理解您的软件(包括六个月后的您自己)。
每个人都写过不可扩展的软件,你编写一次执行一次并计划永远不再使用的脚本(并且通常希望没有人看到,因为它有点尴尬)。那不是软件工程,它可能在功能上是“正确的”,但缺乏可扩展性意味着它在下次需要更改时实际上毫无用处,并且可能不得不重写。
可扩展性是一种范例,在这种范例中,软件系统被设计为更容易扩展,并通过预测添加新功能的需求来考虑未来的增长。可扩展性级别反映了扩展或增强软件系统的难易程度。
参考:Joseph Ingeno 的软件架构师手册