对象设计模式的定义组合
Defined combinations of objects design pattern
我在互联网上研究了一些之后试图弄清楚哪个是最好的设计模式,这让我很头疼。我要解决的问题是对象组合的创建。
例如,我有对象组合,其中需要使用定义数量的任务对象创建事件对象:
事件 1 - 任务 1、任务 2、任务 3
活动 2 - 任务 2、任务 3
理想情况下,我想要一种创建 Event 对象的简单方法,而不需要像这样的东西:
Event.Add(Task1)
Event.Add(Task2)
等等等等
理想情况下,我想看到类似 Event1.Add(Task1).Add(Task2).Add(Task3).
的内容
我还需要能够将事件中的任务作为单独的对象单独检索。
并且任务需要可重复使用。
你可以像这样做一点流利的 foo...
var e = new EventFoo().Add(new Task()).Add(new Task())
;
public class EventFoo
{
public EventFoo()
{
Tasks = new List<Task>();
}
public List<Task> Tasks { get; private set; }
public EventFoo Add(Task task)
{
Tasks.Add(task);
return this;
}
}
如果您要创建一组常规事件,也可以将它们的创建移至工厂。
怎么样
public class Event {
public Event(IEnumerable<Task> tasks) {...}
}
像这样的建筑商 api
new EventBuilder().AddTask(....).AddTask(....).AddTask(....).Build();
我在互联网上研究了一些之后试图弄清楚哪个是最好的设计模式,这让我很头疼。我要解决的问题是对象组合的创建。
例如,我有对象组合,其中需要使用定义数量的任务对象创建事件对象:
事件 1 - 任务 1、任务 2、任务 3
活动 2 - 任务 2、任务 3
理想情况下,我想要一种创建 Event 对象的简单方法,而不需要像这样的东西:
Event.Add(Task1)
Event.Add(Task2)
等等等等 理想情况下,我想看到类似 Event1.Add(Task1).Add(Task2).Add(Task3).
的内容我还需要能够将事件中的任务作为单独的对象单独检索。
并且任务需要可重复使用。
你可以像这样做一点流利的 foo...
var e = new EventFoo().Add(new Task()).Add(new Task())
;
public class EventFoo
{
public EventFoo()
{
Tasks = new List<Task>();
}
public List<Task> Tasks { get; private set; }
public EventFoo Add(Task task)
{
Tasks.Add(task);
return this;
}
}
如果您要创建一组常规事件,也可以将它们的创建移至工厂。
public class Event {
public Event(IEnumerable<Task> tasks) {...}
}
像这样的建筑商 api
new EventBuilder().AddTask(....).AddTask(....).AddTask(....).Build();