считают, что у меня есть класс клиента, и он получил CustomerTypeA, CustomerTypeB, CustomerTypeC в качестве дочерних классов.
Будет ли лучше реализовать интерфейс ICustomer для класса Customer и создавать объекты подтипов (CustomerTypeA, CustomerTypeB, CustomerTypeC)
interface ICustomer {}
class Customer : ICustomer {}
class CustomerTypeA : ICustomer {}
class CustomerTypeB : ICustomer {}
class CustomerTypeC : ICustomer {}
ICustomer obj;
obj = new CustomerTypeB();
или
Создание объектовдочерних классов с объявлением объекта класса Customer?
class Customer {}
class CustomerTypeA : Customer {}
class CustomerTypeB : Customer {}
class CustomerTypeC : Customer {}
Customer obj;
obj = new CustomerTypeB();
Как мне выбрать подход, которому нужно следовать?
Другими словами, лучше ли реализовать каждый родительский объект для реализации?из интерфейса?какое преимущество это приносит мне?
Спасибо