使用ICommand接口

本文关键字:接口 ICommand 使用 | 更新日期: 2023-09-27 17:57:32

我有一个实现特定接口(IOrganicEnvironment<T, K>)的类

public class Colorizator : IOrganicEnvironment<Cell<YUV>, YUV>, ICommand
{
    // ..
}

并实现了ICommand迭代面

public interface ICommand
{
    void Execute();
}

IOrganicEnvironment<T, K>接口提供了一组方法和属性,我将主要在ICommand Execute()方法中使用这些方法和属性。

但我不需要任何客户端代码来从Colorizator实例调用该方法和属性。

我能/应该做什么?如果我实现接口explicitly并使其成为internal,这会有帮助吗?

使用ICommand接口

我认为使用组合会更好。

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;
    }
}