私は本当にリファクタリングする必要があるようなC#でこのメソッドを持っています。デザインパターンを使用すべきですか?あまりにも多くの繰り返しは、私が今見ているものであり、特に条件文が追加された場合です。C#メソッドは非常に冗長に見える私はそれをデザインパターン、メソッドを修正するために行うことができますか?
方法に変更しますか? https://sourcemaking.com/refactoring/replace-conditional-with-polymorphism
編集:
public void CreateOrUpdateReportDefinition(ReportGroupSubReport reportGroupSubReport, bool isNew, int report)
{
if (report == 1)
{
var entity = _envyUnitOfWork.ReportDefinitions.GetById(reportGroupSubReport.Id) ?? new ReportDefinition();
if (isNew)
entity.SetNew();
_envyUnitOfWork.ReportDefinitions.InsertOrUpdate(entity, true);
}
else if (report == 2)
{
var entity = _envyUnitOfWork.TraxReports.GetById(reportGroupSubReport.Id) ?? new TraxReport();
if (isNew)
entity.SetNew();
_envyUnitOfWork.TraxReports.InsertOrUpdate(entity, true);
}
Mapper.Map(reportGroupSubReport, entity);
_envyUnitOfWork.Commit();
}
この質問はここでうまくいくhttp://codereview.stackexchange.com/ –
実際には、このコードでも 'Mapper.Map(reportGroupSubReport、entity); 'は現在のコンテキストに存在しないエンティティに問題があります –