Java Структурные изменения с шаблоном Фасад - PullRequest
2 голосов
/ 13 января 2012

Я пытаюсь реструктурировать некоторый конкретный код GUI в проекте Java, назовем его Project A, удалив зависимости из проекта и переместив код в существующий API.У меня есть другой проект, который требует в основном те же функции / интерфейс, и я хотел бы повторно использовать эти возможности в этом другом проекте.

Я прочитал о Шаблоне проектирования фасада в книге «Шаблоны проектирования» от GoF и подумал, что он может быть применим здесь.

Прежде чем читать о шаблоне Facade, я попытался написать интерфейс IMessagePasser, который просто заменяет любой специфичный для проекта код интерфейсными методами, в качестве контракта, который должен быть реализован каждым клиентом, например, с ProjectAMessagePasser.Похоже, это относится к половине Facade, позволяя перемещать код GUI в API.

Полагаю, следующим шагом будет то же самое сделать с Project A, заменив зависимости GUI, добавив больше методов в ProjectAMessagePasser, чтобы выяснить, в основном, необходимые связи между ProjectBMessagePasser и кодом GUI.

У меня нет большого опыта крупномасштабной реструктуризации кода, но все ли это кажется разумным?Трудно сказать, не сделав сначала все изменения, и я не хочу тратить много времени, делая это одним способом, если есть лучший способ сделать это.

1 Ответ

2 голосов
/ 13 января 2012

Чтобы сделать его более управляемым, вы, возможно, захотите создать службы для функциональных областей приложения и сфокусировать там свой рефакторинг.На ходу напишите модульные тесты для проверки функциональности.Когда у вас есть функциональность в службах, вы можете создать Фасад вокруг этих служб. Другими словами,

, возможно, будет легче разделить и победить, а не реорганизовывать сразу все приложение.

...