Я сейчас нахожусь в процессе разработки модели предметной области для нового приложения и достиг стадии, когда мне нужно определить отношения с классами разных типов, которые могут выполнять одну и ту же роль, и я не совсем понимаю, как лучшечтобы определить отношения.
Например:
public class Car
{
public IDriver driver { get; set;}
public IPassenger passenger { get; set; }
}
public class Person : IDriver, IPassenger
{
}
public class Pet : IPassenger
{
}
В этом случае я хочу иметь возможность определить, что водолаз автомобиля может быть любого класса, который реализует IDriver, и любой пассажир долженвнедрить IPassenger.В случае пассажира это может быть с человеком или домашним животным.Интерфейсы по сути определяют роли каждого класса.
Что я хочу понять, так это то, что, по мнению людей, это хороший подход, или если то же самое может быть достигнуто с использованием другого механизма.