【问题标题】:Data dependency and consistency数据依赖性和一致性
【发布时间】:2015-10-11 18:08:55
【问题描述】:

我正在为工程计算开发一个相当大的(对我而言)ruby 脚本。该脚本创建了一些以分层方式互连的对象。

例如,一个对象 (Inp) 包含一组模拟的输入参数。其他对象(SimA、SimB、SimC)用于实际执行模拟,它们中的每一个都可以生成一个或多个输出对象(OutA、OutB、OutC),其中包含结果并通过以下方式生成用于可视化或分析的实际文件其他对象等等。

第一次执行并完成所有模拟时,所有对象都将被完全定义,并且我将拥有代表用户输出的系列或文件。

现在假设用户需要更改 Inp 的属性之一。根据已修改的属性,必须重新运行一些模拟,并且某些对象 OutX 将被渲染为无效,否则一致性将丢失,因为输出将不再对应于输入。

我想知道是否有一种设计模式可以促进这个过程。另外我想知道是否可以使用某种图形以清晰的方式直观地表示对象之间的各种依赖关系。

根据我一直在阅读的内容(这个问题已经存在一年了),我认为 Ruby Observable 类可以用于此目的。每次父对象发生变化时,它都应该向其子对象发送一条消息,以便它们可以更新其状态。 这是推荐的方法吗?

我希望这能让问题更清楚一些。

【问题讨论】:

  • 我把你的问题读了两遍,但我仍然不确定你在问什么。

标签: ruby dependencies uml dependency-management data-consistency


【解决方案1】:

我不确定我是否完全理解您的问题,但阶段的问题取决于前阶段的结果,而前阶段的结果又取决于前阶段的结果,而前阶段的结果本身取决于前阶段的结果,以及其中的每一个阶段可能会失败或花费任意时间,与编程本身一样古老并且已经解决了很多次。

执行此操作的工具通常称为“构建工具”,因为这是构建复杂软件系统时经常出现的问题,但它们绝不限于构建软件。一个更合适的术语是“面向依赖的编程”。示例包括 makeant 或 Ruby 自己的 rake

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    相关资源
    最近更新 更多