Я многому учусь о шаблонах дизайна, когда создаю свою собственную систему для своих проектов. И я хочу спросить вас о вопросе дизайна, на который я не могу найти ответ.Два объекта с зависимостями друг от друга. Это плохо?
В настоящее время я создаю небольшой чат-сервер, используя сокеты с несколькими клиентами. Сейчас у меня есть три класса:
- Люди-класс, который содержит информацию как ник, возраст и номер-объект.
- Room-class, который содержит информацию, такую как название комнаты, тему и список лиц, которые сейчас находятся в этой комнате.
- Отель-класс, который имеет список лиц и список номеров на сервере.
Я сделал схему для иллюстрации:
У меня есть список лиц, находящихся на сервере в гостинице класса, потому что было бы неплохо, чтобы отслеживать, сколько есть онлайн прямо теперь (без необходимости проходить через все комнаты). Люди живут в гостиничном классе, потому что я хотел бы иметь возможность искать конкретного человека, не ища номера.
Это плохой дизайн? Есть ли другой способ добиться этого?
Спасибо.
Я вижу, что «взаимная зависимость» - это то слово, которое я искал. Для записи я пишу это на Java. Интерфейсный подход кажется интересным, но не делает решение гораздо более различным, но я понимаю вашу точку зрения. Спасибо за ваш комментарий. –
@ Kasper, point is, нет реальной проблемы с наличием зависимостей от _interfaces_ (включая взаимные) - это в основном зависимости от программного обеспечения _concrete_, которое вы действительно хотите избежать (например, в случае «циклов»). Свобода начать с быстрой и грязной реализации и переключиться на эхолот позже также ускоряет прототипирование и итерацию программного обеспечения в процессе его эволюции и обслуживания. –