我正在尝试第一次使用命令模式,并使用它创建一个命令工厂,我正在遵循pluralsight.com课程的指导,他在那里实现了包含MakeCommand方法的工厂接口.
现在我的问题来自于他只是传递一个字符串数组作为此方法的参数(他是一个命令行应用程序),但是我的命令将使用各种类型的各种参数,我的计划是使用这些命令用于存储模型的更新,因此如果应用程序无法连接到服务,则命令将在连接返回时排队等候.
对于使用通用接口,这对我来说一直是一个棘手的问题,我如何处理大量可能的参数?
我的第一个想法是传递模型本身,使用命令类型(删除,更新等)的简单字符串参数,但是因为我的模型没有任何公共基类或接口,所以我留下了类似的问题.
我错过了一些基本的东西吗?
编辑:请求我的问题的例子.
我有一个CommandFactory接口
public interface ICommandFactory
{
string CommandName { get; }
string Description { get; }
ICommand MakeCommand( ..arguments.. )
}
Run Code Online (Sandbox Code Playgroud)
我有简单的模型,如(纯例)
public class Model1
{
public string Name {get;set;}
public int Age {get;set;}
}
public class Model2
{
public DateTime Time {get;set;}
public double Price {get;set}
}
Run Code Online (Sandbox Code Playgroud)
如果我想创建一个命令,例如更新一个model1,我想知道Interface的MakeCommand应该如何看,我不能做MakeCommand(字符串cmdType,Model1模型),因为我有多个不同的模型,它们没有共同的基类/接口
我建议您使用命令模式,该模式使用接收器作为包含参数的对象,在您receiver可以添加对象列表或字典。
在此站点中您可以找到源代码
链接: http: //www.dofactory.com/net/command-design-pattern
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |