Извините, если это дубликат.
То, что я хочу смоделировать, - это корзина для покупок, в которую добавляются товары (и, вероятно, позже создается заказ).Существует два основных типа предметов.Типы акций, у которых есть акции, и общие типы, у которых нет акций.Товар может быть добавлен только при наличии достаточного количества товара, иначе он не будет добавлен.Был бы базовый класс, который имел бы общие свойства для обоих видов товаров.
Сначала я планировал, прежде чем добавить товар в корзину, проверьте, является ли он товаром на складе, и если это так, выполните необходимые проверки на складе.,В противном случае просто добавьте элемент в корзину.
Сотрудник предложил другой подход, при котором не нужно проверять тип элемента;вместо этого метод базового класса будет иметь метод hasEnoughStock ().Для товаров со склада будет переопределен метод для проведения реальных проверок, товары без товара просто вернут некоторую истинную стоимость (т. Е. У них всегда достаточно запасов).Я думаю, что мой коллега имеет лучший подход;однако мне кажется немного забавным иметь функцию проверки запасов на предмет, который на самом деле не имеет реальных запасов.
Я хотел бы спросить, какой правильный подход с точки зрения OOзрения (или, возможно, существуют разные подходы).
Мы планируем сделать это в C #, если это будет иметь какое-либо значение.
Заранее спасибо