是否有“类似耙子”的设计模式?

| 如果您有一个实现Rake依赖管理之类的库/框架/类,那么这对于通用编程似乎很有用,即将代码分解为任务和依赖。 例如,想象一下一个用于在flickr上管理用户照片库的应用程序。该应用程序可能会分解为具有相互依赖关系的类似Rake的任务。登录可能是一项任务,同步用户照片可能是另一项取决于登录任务的任务,删除照片可能是一项取决于用户数据最新的任务。 这似乎是一个简单/(基本的)概念,可能已经作为设计模式甚至是一个库(理想情况下为c或Objective-c)存在,除非这是一个非常糟糕的主意。(请评论)? 是否会重新发明在Objective-c(或您选择的语言)中实现Rake的轮子,以便在桌面应用程序内部而不是在构建实用程序中使用Rake?     
已邀请:
        如果您要说的是实际的依赖关系管理,那么我不会将其称为设计模式。 阅读有关如何进行有向无环图的拓扑排序的知识,依赖管理可以归结为这一点。 我认为这样的库很可能存在。 编辑 我刚刚发现了这个库,它可能会有用。实际上,它是一个相当大的库,但是它包含一个可以(或声称可以做到)拓扑排序的类。 我应该补充一点,我很确定没有可以解决这个问题的设计模式。弄清楚给定的相互依存任务序列应以什么顺序完成只是一个图论问题。我链接的维基百科文章包含您需要了解的几乎所有内容。 该类不应该工作,我认为从头开始或通过翻译另一种语言来实现它并不困难(例如,Python:我似乎还记得Twisted为您提供了这种功能)。 甚至更多 我不认为在您的应用程序中实现依赖管理只是车轮改造的另一种情况。如果需要,请对其进行编码。也就是说,除非您找到具有适合您需求的兼容许可证的通用工作库。在这种情况下,请务必使用它。真的就是这么简单。     

要回复问题请先登录注册