代码之家  ›  专栏  ›  技术社区  ›  ima

建模体系结构

  •  1
  • ima  · 技术社区  · 17 年前

    构建由许多不同类型的项目组成的系统模型的一个常见解决方案是创建一个模块化系统,其中每个模块负责特定的类型。例如,将有一个用于袋熊的模块:IModule,其中IModule接口具有GetCount()和Update()等方法(用于查找袋熊的数量)和Update()(用于更新所有袋熊的状态)。

    从代码的角度来看,差异是可以忽略的,但运行时是显著不同的。面向模块的解决方案当然更快:对象创建更少,更容易优化所有袋熊通用的操作。

    我至少见过一次,当WombatModule所做的只是保存一组隐藏的Wombat对象并在循环中运行它们的方法时,它会退化到糟糕的状态。

    当性能问题比长期开发问题小时,您能否确定使用模块而不是每项对象的架构原因?也许我还错过了另一种可能性?

    1 回复  |  直到 17 年前
        1
  •  1
  •   Alireza    8 年前

    我为一家公司工作 embedded software company 我们的 code base 它相当大。代码库是用模块设计的,这些模块执行特定的功能并维护一些对象——还有一些对象只是作为独立对象存在的。我们在方法中看到的最大问题是区分模块的边界。随着时间的推移,我们的模块往往会变得不必要的复杂,并慢慢发展到执行最初超出其边界的功能。我想说的是,最好的方向是模块化设计和实现非常具体的对象,并尽全力不让模块超出您的预期。