2013-03-27 10 views
1

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

Я не знаю, какой правильный способ рефакторинга это будет? Должно быть, это просто композиция? Моя основная цель - это сделать код более чистым. Потому что существует так много расширений SuperParent. Трудно понять, какой класс расширить. Это становится неуправляемым.

+0

Какая у вас мотивира по рефакторингу? Чего вы пытаетесь достичь? – NPE

+0

Почему, в частности, вы реорганизуете это? Что вам нужно достичь? –

+0

@BrianAgnew: LOL :) Четыре секунды друг от друга. – NPE

ответ

0

Template -> Стратегия рефакторинг:

Групповые методы по полям в супер классе они требуют. Рефакторинг полей и методов в классы стратегии, которые передаются в суперкласс. Где методы переопределяются в альтернативных реализациях классов стратегии.

Смежные вопросы