//Prilikom izvrsavanje komande mozemo da definisemo preprocessing i postprocessing public void ExecuteCommand <Request>(ICommend <Request> command, Request request) { //1. Ispisivanje poruke ko je i koju komandu izvrsio (preprocessing) logger.Log(command, actor, request); if (!actor.AllowedUseCases.Contains(command.Id)) { throw new UnauthorizedException(command, actor); } //2. Samo izvrsavanje komande command.Execute(request); }
/// <summary> /// 添加命令 /// </summary> /// <param name="commend"></param> public void AddCommand(ICommend commend) { AllCommand.Add(commend); }