У меня есть приложение, которое я занимаюсь рефакторингом и пытаюсь следовать некоторым принципам «чистого кода». У меня есть приложение, которое считывает данные из нескольких различных источников данных и обрабатывает / форматирует эти данные и вставляет их в другую базу данных. У меня есть уровень данных со связанными DTO, репозиториями, интерфейсами и помощниками для каждого источника данных, а также бизнес-уровень с соответствующими объектами, репозиториями и интерфейсами.
Мой вопрос сводится к методу импорта. В основном у меня есть один метод, который систематически вызывает каждый метод бизнес-логики для чтения, обработки и сохранения данных. Необходимо выполнить много вызовов, и хотя сам метод Import вообще не манипулирует данными, он все еще чрезвычайно велик. Есть ли лучший способ обработки этих данных?
ICustomer<Customer> sourceCustomerList = new CustomerRepository();
foreach (Customer customer in sourceCustomerList.GetAllCustomers())
{
// Read Some Data
DataObject object1 = iSourceDataType1.GetDataByCustomerID(customer.ID)
// Format and save the Data
iTargetDataType1.InsertDataType1(object1)
// Read Some Data
// Format the Data
// Save the Data
//...Rinse and repeat
}