Регистрация: Aug 2009
Сообщений: 134
|
andrew911
>>Синглтон это и есть паттерн.
Верно, я имел ввиду, что заменяю синглтон другими паттернами. Например, некоторые делают доступ к основным данным через синглтон, в данном случае, я использую паттерн Observer (наблюдатель).
andrew911
Спасибо за статью, там приводится хороший пример с классом банковского счета, функционал которого можно логически разделить на три части. Хотя, как подмечено в статье, такой подход является антипатерном ActiveRecord (ну и ладно, я и не привык наделять сущности главенствующим функционалом).
У меня схожая ситуация, т.е. главном классе ObjectManager содержатся: parserObjects (создание обверток-объектов над графикой), parserTools (создание на основе спец граф элементов связей (joints) между физическими объектами, parserButtons (парсинг кнопок различного типа).
Каждый из парсеров имеет 180-250 строк кода.
Сделаю, как советовали в данном топике/статье, для каждого парсера выделю свой класс и создам их экземпляры в ObjectManager. Может быть даже выделю отдельный пакет (как упоминал Aquahawk ) для этих четырех классов.
mikhailk
>>Это я к тому, что уменьшение размера класса и распределение кода по файлам как отдельные задачи не имеют большого смысла при правильном проектировании функционала
Да, но я очень не люблю работать с классом, когда в нем 250-500 строк. В таком коде много функций, которые сразу не так легко разграничить на логические группы и перемещаться по функциям. Особенно проблема остро стоит, когда класс не видел в глаза пару месяцев, даже с комментариями не всегда быстро можно вникнуть.
Последний раз редактировалось Denis_ex; 16.01.2011 в 13:05.
|