使用 ICommand 接口

发布于 2024-11-09 13:32:55 字数 543 浏览 0 评论 0原文

我有一个实现特定接口的类 (IOrganicEnvironment)

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

并且它还实现了 ICommand iterface

public interface ICommand
{
    void Execute();
}

IOrganicEnvironment 接口提供了一堆方法和属性我主要会在 ICommand Execute() 方法中使用。

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

我可以/应该做什么?如果我显式实现接口并将其设为内部会有帮助吗?

I have a class that implements specific interface (IOrganicEnvironment<T, K>)

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

And also it implements ICommand iterface

public interface ICommand
{
    void Execute();
}

IOrganicEnvironment<T, K> interface provides a bunch of methods and properties I'm mostly going to use inside ICommand Execute() method.

But I don't need any client code to invoke that methods and properties from Colorizator instance.

What can/should I do? If I implement the interface explicitly and make it internal will this help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千纸鹤带着心事 2024-11-16 13:32:55

我认为使用组合会是更好的主意。

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

I think using composition would be better idea.

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;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文