Skip to content

Object discovery

nergal-perm edited this page Dec 11, 2020 · 6 revisions

Обнаружение объектов предметной области

Детальное описание объектов предметной области

  1. Классическая CRC-карточка. Содержит название класса, экземпляром которого будет моделируемый объект; список его ответственностей; ссылки на всех требуемых "напарников" (collaborators).
  2. Текстовое описание природы объектов, представленных этим классам. Здесь же должны быть указаны стереотипы класса и любые примечания, полезные при реализации.
  3. Контракты, разделенные на публичные, приватные и защищенные. Отражают намерения создателя класса относительно того, кто и какие сообщения может посылать экземпляру этого класса.
  4. Требуемое знание. Конкретные фрагменты данных, которые понадобятся объекту для выполнения своих обязанностей. Каждому фрагменту нужно присвоить описательную метку, идентификатор источника и имя класса, который будет содержать эти данные.
  5. Сообщения. Сигнатуры сообщений, на которые будет отвечать объект.
  6. События. Названия и описания событий (изменений состояния объекта), которые могут быть интересны другим объектам.

Игра

  1. Game

    • Предоставляет Игрокам список допустимых действий: Player.
  2. По сути, это всего лишь инструмент для связи Игроков со Столом и с Арбитром. Скорее всего, будет реализована как паттерн Whiteboard.

Игровой стол

  1. Table

    • Хранит и обновляет состояние игровой доски, планшетов и "рук" Игроков.
    • Хранит и обновляет порядок хода Игроков.

Игрок

Арбитр

Секретарь

Clone this wiki locally