我现在使用温莎城堡已经有一段时间了.它非常适用于数据位于数据库等中的环境,其中存储库模式或单元工作模式运行良好.
现在我确实有不同的情况:我有一个复杂的对象模型,由很多单个PONO组装.COM对环境的影响很大,使其更加明确:Excel,Word PIO被大量使用.
我使用命令模式,我实现了ICommandHandler,就像这里描述的那样,但有一点不同.因为我想将命令汇编到命令列表以在运行中调用它们而不知道所描述的一般命令模式旁边的任何内容,所以在调用execute方法时不会引入上下文.所以界面看起来像这样:
public interface ICommand
{
void Execute();
bool CanExecute();
}
Run Code Online (Sandbox Code Playgroud)
使用该接口执行命令是有效且易于理解的.另一方面,使用ctor引入上下文是一个问题,因为必须明确地调用Container以例如添加ctor参数.
所以我实际上有两个问题: