2015-03-20 25 views
8

Как я прочитал в Effective javaВ чем разница между раздутым классом и помеченным классом?

раздутой иерархии классов может привести к раздутым классам, содержащих много методы, которые отличаются только типом их аргументами, так как не существуют нет типов в иерархии классов, чтобы захватить общее поведение.

и Link

раздутый класс часто имеет много особых случаев: атрибуты или поведение справедливо для некоторых случаев, но не другие. Часто программисты пытаются сделать дело со специальными случаями, вводя теги типа.

и сходство существует между тегами классом раздутого классом, как и в Effective java упоминается, что:

класс, экземпляры которого в двух или более ароматизаторах и содержит поле тега , указывающее на вкус экземпляр. случаи обременены с нерелевантными полями, принадлежащими другим вкусам.

так заключая оба класса могут иметь типы тегов/Поля и оба класса, имеющие так много реализаций (так много возможностей, смоделированные в одном классе).

Я запутался в этих терминологиях, и я хочу знать, что в чем разница между этими двумя Раздутый класс и тегированный класс ??

ответ

4
  • Разбитый класс раздувается (см. Ниже).
  • Отмеченный класс имеет один или несколько тегов.
  • Отмеченный класс, вероятно, раздувается, раздутый класс необязательно должен быть помечен.

«Раздутый» (несколько) субъективный, «помеченный» тривиально идентифицировать. «Bloat» может относиться ко многим вещам; плохое разделение проблем, отсутствие инкапсуляции, различные уровни абстракций и т. д.

«метка» менее субъективный, потому что там будет поле, которое определяет разделение функциональности, абстракция и т.д.

+1

я получил некоторое представление теперь спасибо :) – Prashant

Смежные вопросы