小编Hol*_*ing的帖子

温莎城堡/ DI和对象模型

我现在使用温莎城堡已经有一段时间了.它非常适用于数据位于数据库等中的环境,其中存储库模式或单元工作模式运行良好.

现在我确实有不同的情况:我有一个复杂的对象模型,由很多单个PONO组装.COM对环境的影响很大,使其更加明确:Excel,Word PIO被大量使用.

我使用命令模式,我实现了ICommandHandler,就像这里描述的那样,但有一点不同.因为我想将命令汇编到命令列表以在运行中调用它们而不知道所描述的一般命令模式旁边的任何内容,所以在调用execute方法时不会引入上下文.所以界面看起来像这样:

    public interface ICommand
    {
        void Execute();
        bool CanExecute();
    }
Run Code Online (Sandbox Code Playgroud)

使用该接口执行命令是有效且易于理解的.另一方面,使用ctor引入上下文是一个问题,因为必须明确地调用Container以例如添加ctor参数.

所以我实际上有两个问题:

  1. 是否有可能注入一个 - 让它称之为上下文,对象模型的一部分 - 由温莎城堡自动调用,而不是明确地调用容器?
  2. 如何使用DI从命令模式参与?任何想法如何通过遵循此处描述的RRR规则来完成能够定义任务/操作列表等?

command castle-windsor castle

5
推荐指数
1
解决办法
314
查看次数

标签 统计

castle ×1

castle-windsor ×1

command ×1