FB3
Новичок
Как понять при росте класса, когда стоит разделить и делегировать обязанности
К примеру, сейчас у меня имеется класс более тысячи строк.
В нем много protected свойств, соответственно, куча методов get и set, add и substract для части свойств + реализация интерфейса SplObserver + еще функциональность, которую я знаю, как вынести в другое место.
В итоге порядка сотни методов различных. Часть из них явно не относится к этому классу, если перенести это в другой класс, код сократится где-нибудь на четверть. Мне все равно кажется, что это очень много.
Не пойму, нужно ли дальше разделять функциональность и если да, то как? На текущий момент, мне кажется, что большая часть этих свойств нужна именно этому классу.
Плюс ко всему этому, еще Zend Studio подтупляет от такого количества кода в одном файле...
В общем, мне сложно объяснить словами, а бесплатно разбираться в тысяче строк кода все равно никто не будет
Может есть что почитать интересного по этому поводу в Интернет?
Книжки в процессе покупки, правда "Рефакторинг" Фаулера уже закончился на books.ru, не успел купить
К примеру, сейчас у меня имеется класс более тысячи строк.
В нем много protected свойств, соответственно, куча методов get и set, add и substract для части свойств + реализация интерфейса SplObserver + еще функциональность, которую я знаю, как вынести в другое место.
В итоге порядка сотни методов различных. Часть из них явно не относится к этому классу, если перенести это в другой класс, код сократится где-нибудь на четверть. Мне все равно кажется, что это очень много.
Не пойму, нужно ли дальше разделять функциональность и если да, то как? На текущий момент, мне кажется, что большая часть этих свойств нужна именно этому классу.
Плюс ко всему этому, еще Zend Studio подтупляет от такого количества кода в одном файле...
В общем, мне сложно объяснить словами, а бесплатно разбираться в тысяче строк кода все равно никто не будет
Может есть что почитать интересного по этому поводу в Интернет?
Книжки в процессе покупки, правда "Рефакторинг" Фаулера уже закончился на books.ru, не успел купить