Примеры сбалансированного распределения классовых обязанностей в объектно-ориентированной модели - PullRequest
1 голос
/ 08 ноября 2011

В «Руководстве пользователя языка унифицированного моделирования» Bochs et. и др. есть в «Главе 4. Классы» там (под) раздел под названием «Моделирование распределения обязанностей в системе» . В нем говорится о балансировке обязанностей, которая может привести к разделению или объединению классов.

Не могли бы вы привести пример, как могло бы выглядеть такое " распределение обязанностей "?

1 Ответ

1 голос
/ 29 ноября 2011

Я думаю, что «балансирование обязанностей» происходит, когда классы не слишком малы и не слишком велики. Если обязанности не сбалансированы, тогда у объектной модели есть несколько больших классов, у которых слишком много обязанностей. Или еще хуже, есть один объект, который выполняет всю работу. Это иногда называют «объектом Бога». Это считается анти-паттерном. Google "объект бога".

Связанное с этим следствие наличия объекта God состоит во множестве небольших классов, которые мало что делают, кроме инкапсуляции данных. Когда обязанности хорошо сбалансированы, каждый класс имеет набор четко определенных услуг и обладает достаточным количеством атрибутов и методов для выполнения этих обязанностей.

В Википедии хорошо сбалансированные обязанности называются «кодом равиоли», но я никогда не слышал, чтобы этот термин использовался ранее.

...