У меня есть прекрасная возможность переработать старый и "вонючий" код
в гораздо лучше разработанную семью класса.
У меня есть базовый проектный скелет, который разобрался, реализован и протестирован .
Однако я дошел до того, что у меня большой класс «Менеджер»
который управляет тем, чем должен (допустим, какая-то хитрая очередь задач),
но он также отвечает за некоторые другие вещи, которые не были моим первым намерением для этого класса.
Создание набора новых классов
class OperationAPerformer
{
void PerformA(input){...}
}
class OperationBPerformer
{
void PerformB(input){...}
}
похоже, что не правильное решение.
Сохранение логики для OperationA, OperationB в классе менеджера
кажется, раздувает класс Manager без веской причины для дизайна
Есть предложения?
Спасибо!
Хорошо, я не могу опубликовать весь свой код здесь
но базовый дизайн (или скелет)
InitEventHandler
SubmitEventHandler
CancelEventHandler
SuccessEventHandler
FailureEventHandler
ProgressReportedEventHandler
TimeOutEventHandler
...
Обработчики событий обновляют некоторые параметры
и сделать некоторую работу управления, как после восстановления после сбоя,
Обновление параметров пользовательского интерфейса и т.п. ..
OperationA и OperationB связаны, но восполняют много кода
что маскирует главный скелет класса
Связанные операции
SaveProducts ()
SaveStepA
SaveStepB
...
ValidateResponses
ValidatePartA
ValidatePartB
...
Создание класса, подобного
class Validator
{
public bool Validate(Response resp) {...}
private bool PartA(...){...}
private bool PartB(...){...}
}
кажется неуместным, потому что класс - это только набор связанных методов ...
достаточно ли обоснования для создания класса?