Tod*_*ain 2 .net design-patterns
我在这里努力争取一种模式.我有很多需要运行的任务,但如果以前没有运行,只需要运行一次.现在的所有内容都由if/then,booleans和hashtable处理.还有相同效果的嵌套子元素(if/then,boolean)所以它们的父if/then,boolean直到最后都没有设置为true.
在.NET中,是否存在某种代码模式或类,使其更简单/更清晰/更少代码,或者我是否过度思考它,这正是需要完成的方式?
PS随意添加更好的标签到这篇文章,我不知道要添加什么,使它更具描述性,如果有一个术语在那里
我不知道您的任务是如何编码的,但似乎它们可以封装在命令中,然后将其放入队列或其他一些数据结构中.一旦它们出列,就会检查它们的逻辑.如果他们需要运行,则执行它们,并且它们不会被放回队列中.如果他们的逻辑说他们不应该运行,他们只是被放回队列中以便以后运行.
您的界面将是这样的:
public interface ITaskSink {
void AddTask(ICommandTask task);
}
public interface ICommandTask {
bool ShouldRun();
void Run(ITaskSink sink);
}
Run Code Online (Sandbox Code Playgroud)
任务还可以将其他任务添加到数据结构(因此Run需要ITaskSink作为参数),涵盖您的子任务创建要求.任务甚至可以将自己添加回接收器,从而避免了对ShouldRun方法的需求并简化了任务处理器类.
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |