stringtranslate.com

Карточка класс-ответственность-сотрудничество

Карточки «класс-ответственность-сотрудничество » ( CRC ) — это инструмент мозгового штурма , используемый при проектировании объектно-ориентированного программного обеспечения. Первоначально они были предложены Уордом Каннингемом и Кентом Беком в качестве учебного пособия [1] , но также популярны среди опытных дизайнеров [2] и рекомендуются практиками экстремального программирования . [3] Автор Мартин Фаулер написал, что карточки CRC могут быть разумным средством, с помощью которого можно быстро разработать несколько альтернативных взаимодействий, поскольку они позволяют избежать большого количества рисования и стирания. Сеансы с карточками CRC могут сопровождаться созданием диаграмм последовательности для фиксации идентифицированных взаимодействий.

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

Карточки CRC обычно создаются из карточек-указателей . Участники мозгового штурма пишут одну карточку CRC для каждого соответствующего класса /объекта своего дизайна. Карточка разделена на три области: [1] [2]

  1. В верхней части карточки указано название класса.
  2. Слева — обязанности класса.
  3. Справа — соавторы (другие классы), с которыми класс взаимодействует для выполнения своих обязанностей.

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

Создание карт CRC

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

Смотрите также

Ссылки

  1. ^ ab Бек, Кент; Каннингем, Уорд (1986). «Лаборатория обучения объектно-ориентированному мышлению». SIGPLAN Notices . 24 (10): 1–6. doi :10.1145/74878.74879.
  2. ^ Мартин Фаулер, UML Distilled , глава 4
  3. ^ Краткое введение на extremeprogramming.org

Внешние ссылки