Как разработать код для данной задачи, следуя шаблону проектирования программного обеспечения? - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь создать код для этой задачи:

  • Сначала я хочу проверить, действителен ли пользователь или нет, основываясь на вопросах и ответах, предоставленных пользователем
  • Если пользователь действителен, то я хочу проверить, есть ли место для пользователя для данной даты и времени
  • Если номер свободен, сохраните информацию о бронировании в таблице.

Так что здесь я запутался, имеет ли смысл Цепочка ответственности здесь или нет?

Если нет, то почему?

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

IRoomBookingManager :

CheckAvailability()
BookRoom()

IUserManager :

Authenticate()//check user is valid or not based on question and answer submitted by user.

Примечание: Я учусь проектировать правильный код, используя Шаблоны проектирования , если применимо.

Может кто-нибудь помочь мне ответить на 2 вопроса ниже:

1) Имеет ли смысл цепь ответственности здесь или нет, и если нет, то почему?

2) Каким должен быть правильный дизайн кода, если моя структура кода не имеет смысла?

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