Пишу ООП задачку (авиалинии) по ТЗ, согласно ТЗ предоставляются интерфейсы, которые нельзя менять и реализация не должна иметь чего-то лишнего ( don`t violate your interface implementations by adding more methods etc). Тупо следуя ТЗ ничего сложного не вижу, но смущает следующее:
interface ITrip
{
//getters like id, itinerary
public IAirplane Airplane();
}
interface IAirplane // есть 2 подвида самолетов
{
// содержит в себе коллекцию пассажиров, добавляет/удаляет пассажиров
}
Есть Аэропорт который создаёт Трипы, пассажиров и есть метод CheckIn ( думаю понятно по логике, что должен делать => чекИнить пассажира). Так вот логика этого метода взять все имеющиеся Трипы и через их самолёты посмотреть состоит ли пассажир в каком-то другом самолёте и если да => Exception. )
Вопрос
Почему именно такая связь между самолётами и трипами?? С самолётами ясно, содержат пассажиров, но почему у трипа самолёт? (понимаю, что 1 самолёт = несколько трипов, 1 трип =1 самолёт)
Но всё же не могу принять чего так? И логика CheckIn кажется конченной честно...
UPD: Массив трипов в Аэропорту, но Самолёты не знают ничего о трипах.