Я пытаюсь создать код для этой задачи:
- Сначала я хочу проверить, действителен ли пользователь или нет, основываясь на вопросах и ответах, предоставленных пользователем
- Если пользователь действителен, то я хочу проверить, есть ли место для пользователя для данной даты и времени
- Если номер свободен, сохраните информацию о бронировании в таблице.
Так что здесь я запутался, имеет ли смысл Цепочка ответственности здесь или нет?
Если нет, то почему?
Если нет, то вот как я собираюсь разрабатывать свой код, потому что мне сказали, чтобы он нигде не делал new
, потому что мы следуем подходу, основанному на DI-управляемом интерфейсе рабочего процесса:
IRoomBookingManager :
CheckAvailability()
BookRoom()
IUserManager :
Authenticate()//check user is valid or not based on question and answer submitted by user.
Примечание: Я учусь проектировать правильный код, используя Шаблоны проектирования , если применимо.
Может кто-нибудь помочь мне ответить на 2 вопроса ниже:
1) Имеет ли смысл цепь ответственности здесь или нет, и если нет, то почему?
2) Каким должен быть правильный дизайн кода, если моя структура кода не имеет смысла?