Я пытаюсь сделать модель предметной области Тика игрой Пальца ноги Tac. Я попытаюсь затем пойти через различные шаги Объединенного Процесса и более поздней реализации на него на некотором языке (C# или Java).
Я хотел бы иметь некоторую обратную связь, если я иду на правильный путь: сопроводительный текст http://dl.dropbox.com/u/6187267/shooterpics/tictactoedm.jpg
Я определил игру с двумя агентами, Player O
и Player X
.
Tile
и a Tile State
. Возможно, я должен только определить a Tile
и имеют 3 возможных состояния, специализируются от него?Player O
и Player X
будьте связями с Tic Tac Toe
или сделайте, чтобы они наследовались Player
это связано с Tic Tac Toe
. После дизайна, показанного на рис., в теории, у нас мог быть a Tic Tac Toe
понятие с 2 Игроками O, которые не были бы корректны. Каково Ваше мнение об этом?Кроме того, я пропускаю что-то в схеме? Хотя я не вижу никаких других агентов для Тика Палец ноги Tac, у меня должен быть кто-либо другой?
Спасибо
К вашей диаграмме:
Когда вы говорите о модели предметной области (в контексте UP), вы должны забыть о создание системы программного обеспечения и включение только того, что важно для области игры в крестики-нолики. Подумайте, как описывается любая игра - у нее есть свои правила (подготовка, ходы, условия окончания игры, ...), игроки (с идентичностью для большего количества игр, очки, принадлежащие / контролируемые компоненты, роли ...) и физические компоненты ( доски, жетоны, фигурки, карточки ...). Если вы принимаете эти элементы как часть модели предметной области для игр и, следовательно, метамодель для вашей игры в крестики-нолики, вы должны использовать элементы, которые являются экземплярами этих элементов.
Альтернативной декомпозицией классов может быть замена Board и Tile на Game и Move. Игра будет содержать законную серию ходов, а ход будет содержать координаты квадрата (или другой идентификатор) и то, был ли это игрок O или X. Эта схема хранит немного больше информации, позволяя воспроизводить игру и делать резервные копии.