C# 使用ICommand接口
我有一个实现特定接口的类(C# 使用ICommand接口,c#,interface,instance,icommand,C#,Interface,Instance,Icommand,我有一个实现特定接口的类(IOrganicEnvironment) IOrganicEnvironment接口提供了一系列方法和属性,我主要在ICommand Execute()方法中使用 但是我不需要任何客户端代码来调用Colorizator实例中的方法和属性 我能/应该做什么?如果我显式地实现接口,并使其成为内部的,这会有帮助吗?我认为使用组合会更好 public class Colorizator : IOrganicEnvironment<Cell<YUV>, YUV&
IOrganicEnvironment
)
IOrganicEnvironment
接口提供了一系列方法和属性,我主要在ICommand Execute()方法中使用
但是我不需要任何客户端代码来调用Colorizator
实例中的方法和属性
我能/应该做什么?如果我显式地实现接口,并使其成为内部的
,这会有帮助吗?我认为使用组合会更好
public class Colorizator : IOrganicEnvironment<Cell<YUV>, YUV>>
{
// normal code here
}
public class ColorizatorCommand : ICommand
{
private Colorizator _colorizator;
public ColorizatorCommand(Colorizator colorizator)
{
_colorizator = colorizator;
}
public void Execute()
{
//use _colorizator here;
}
}
公共类着色程序:IOrganiceEnvironment>
{
//这里是普通代码
}
公共类ColorizatorCommand:ICommand
{
专用彩色打印机(Colorizator);;
公共Colorizator命令(Colorizator Colorizator)
{
_着色器=着色器;
}
public void Execute()
{
//在这里使用_colorizator;
}
}
只是澄清一下:所有客户都应该关心的是ICommand实现,而不是IOR组织环境?如果是这样的话,似乎有些代码(虽然可能不是“客户机”)需要知道它满足组织环境-您能告诉我们更多关于这方面的信息吗?在任何情况下,显式接口实现都可能对您有所帮助,正如您所想的那样。我想知道的另一件事是,这是否真的是实现ICommand的正确层——它似乎比简单的DTO层要深得多。
public interface ICommand
{
void Execute();
}
public class Colorizator : IOrganicEnvironment<Cell<YUV>, YUV>>
{
// normal code here
}
public class ColorizatorCommand : ICommand
{
private Colorizator _colorizator;
public ColorizatorCommand(Colorizator colorizator)
{
_colorizator = colorizator;
}
public void Execute()
{
//use _colorizator here;
}
}