问题描述
所以我有这门课:
public class GeneralService : Idisposable
{
private readonly LoggingService _logginService;
private readonly DataService _dataService;
private readonly IServiceProvider _serviceProvider;
public GeneralService(LoggingService loggingService,DataService dataService,IServiceProvider serviceProvider)
{
_logginService = loggingService;
_dataService = dataService;
_serviceProvider = serviceProvider;
var eventBusProvider = serviceProvider.getService<eventBusProvider>();
eventBusProvider.RegisterForNotification(this,EventTypes.Exception,HandleException);
}
public void dispose()
{
var eventBusProvider = _serviceProvider.GetService<eventBusProvider>();
eventBusProvider.UnRegisterForNotification(this);
}
public void Execute(Action action)
{
LoggingService loggingService = _serviceProvider.GetService<loggingService>();
StopWatch watch = new StopWatch();
watch.Start();
loggingService.Loginformation("Start Executing");
try
{
action();
}
catch (Exception exception)
{
loggingService.LogException(exception);
return;
}
watch.stop();
_dataService.CreateLog($"{nameof(GeneralService)} - {nameof(Execute)}: {watch.ElapsedMillieseconds}");
}
private void HandleException(Exception exception)
{
var loggingService = new LoggingService();
_dataService.CreateLog(exception);
loggingService.Loginformation("Ëxception was logged");
}
}
而且我有两个问题,我无法描述这个类的职责,我不确定如何根据行业最佳实践对其进行重构,任何帮助都会很棒。 提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)