工厂方法 - 未知参数

Ben*_*Ben 5 c# wpf

我正在尝试第一次使用命令模式,并使用它创建一个命令工厂,我正在遵循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模型),因为我有多个不同的模型,它们没有共同的基类/接口

Agh*_*oub 0

我建议您使用命令模式,该模式使用接收器作为包含参数的对象,在您receiver可以添加对象列表或字典。

在此站点中您可以找到源代码

链接: http: //www.dofactory.com/net/command-design-pattern