Практические правила создания классов анализа

Здесь приведены некоторые практические правила создания правильно сформированных классов анализа.
• В каждом классе должно быть три-пять обязанностей – необходимо стремиться сохранить максимальную простоту классов. Обычно число обязанностей, которые они могут поддерживать, ограничивают тремя-пятью. Приводимый ранее класс ShoppingBasket является хорошим примером класса с небольшим и управляемым количеством обязанностей.
• Ни один класс не является изолированным – суть хорошего ОО анализа и проектирования во взаимодействии классов друг с другом с целью предоставить пользователям значимый результат. По существу, каждый класс должен быть ассоциирован с небольшим количеством других классов, взаимодействуя с которыми он обеспечивает требуемый результат. Классы могут делегировать некоторые из своих обязанностей другим «вспомогательным» классам, предназначенным для выполнения именно этой конкретной функции.
• Остерегайтесь создания множества очень мелких классов – иногда это может нарушить баланс распределения обязанностей. Если в модели масса мелких классов, каждый из которых имеет одну-две обязанности, необходимо тщательно проанализировать ситуацию с целью объединения нескольких мелких классов в большие.
• Следует опасаться и противоположной ситуации, когда в модели несколько очень больших классов, многие из которых обладают большим числом (> 5) обязанностей. Стратегия в этом случае такова: по очереди рассмотреть эти классы и проанализировать возможность их разбиения на несколько меньших классов с допустимым количеством обязанностей.
• Остерегайтесь «функтоидов»; функтоид – это на самом деле обычная процедурная функция, выдаваемая за класс. Гради Буч любит рассказывать забавный анекдот о модели очень простой системы, состоящей из тысяч классов. При тщательном рассмотрении оказалось, что в каждом классе была всего одна операция doIt() (сделай «это»). Опасность функтоидов всегда существует, когда аналитики, привыкшие к прямой функциональной декомпозиции, впервые берутся за ОО анализ и проектирование. Читать далее…

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code