У меня был длинный класс, который я не смог разделить, потому что мне нужны все поля в одной таблице базы данных (Google AppEngine + Objectify).Я уже использую встроенные классы, где это возможно.Класс состоит в основном из геттеров и сеттеров плюс логика, лежащая в их основе.
Чтобы получить функциональные блоки, я решил использовать повторное наследование.Теперь это выглядит так:
MyStoredModel extends
AbstractSettingsModel extends
AbstractHierarchyModel
(работа с родительскими / дочерними объектами) extends
AbstractInformationModel
(содержит заголовок, описание, ...) extends
- .....
AbstractModel
Это прощечтобы увидеть, что делает каждый класс, и я бы также сказал, что это легче проверить.Недостатком является «цепочка наследования».
Это считается плохим поведением?Каковы лучшие способы уменьшить класс?