【发布时间】:2016-03-23 09:52:48
【问题描述】:
我的项目由模型、服务、DAO 存储库、Unity 和 Web 表单部分分隔。在我的页面中,我有许多隐藏的依赖项,我想重构代码。
在我的项目中我有很多这样的
private DealsService dealsService;
private DealsParser dealParser;
private PeopleBinder peopleBinder;
private DealStatusService dealStatusService;
private PersonsService personService;
private PersonalMetricsService metricService;
private DealRelationsService dealRealtionService;
private AuditReportService auditService;
private ProductLineService productLineService;
private DealProductLineService dealProdLineService;
private DynamicColumnsService dynamicColService;
private DealValuesService dealValuesService;
protected void Page_Init(object sender, EventArgs e)
{
dealsService = new DealsService();
peopleBinder = new PeopleBinder();
dealParser = new DealsParser();
dealStatusService = new DealStatusService();
editDealId = Request.Params["ID"];
FinancialPeriod = Request.Params["FinancialPeriod"];
editFYandMonth = FinancialPeriod.Substring(2,7);
editCountry = Request.Params["Country"];
personService = new PersonsService();
metricService = new PersonalMetricsService();
dealRealtionService = new DealRelationsService();
employeeService = new EmployeeService();
auditService = new AuditReportService();
productLineService = new ProductLineService();
reports = new List<AuditReport>();
dealProdLineService = new DealProductLineService();
dynamicColService = new DynamicColumnsService();
dealValuesService = new DealValuesService();
}
现在我开始重构代码并为所有这些服务创建接口并由接口封装。是否可以避免这个 new 关键字?现在我正在实现 IoC 容器。
【问题讨论】:
标签: c# dependency-injection webforms refactoring