Очевидно, тут имеется в виду жизнь аэропорта в динамике. То есть не заполнить его данными и замолкнуть, а вести вылеты-прилёты, сажать пассажиров в самолёты и т.д.
Trip — это маршрут, и в одном самолёте могут ехать несколько маршрутов (например, с посадками, или рейс вообще чартерный и несколько турагентств заполняют самолёт).
Вспомните табло вылетов и прилетов, там говорится откуда, куда, во сколько и номер самолета - это трип.
Следовательно идет в первую очередь трип, а уже у него самолет.
А вообще не пытайтесь связывать реальные иерархии с ООП.
Код писать надо так, как будет удобнее и функциональнее
Принимай наиболее общие типы, отдавай наиболее специфичные.
На вход:
1) Если надо только перебрать элементы один раз то IEnumerable
2) Если нужен Count то IReadOnlyCollection
3) Если нужен индекс то IReadOnlyList
4) Если нужна запись, то ICollection или IList
На выход:
Наиболее специфичный тип. List<>, ReadOnlyCollection<>
да фигня это все IEnumerable<T> нужен тогда и только тогда, когда нужны асинхроннные или ленивые вычисления, по тому что метод возвращающий IEnumerable<T>, имеет право возвращать не весь набор, а возвращать экземпляры T поштучно, вот так yield return (T)foo;
а вот уже эта фича, открывает много новых и интересных возможностей для параллельного программирования
Да просто пытаются защитить коллекцию от модификации. Когда ты на выходе получишь IEnumerable, то ты не изменить, не добавить элементы не можешь. Да и в большинстве случаев ты потом результат всё равно как последовательность обрабатываешь.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.