> Что за бред, простите. В плюсах есть мощные шаблоны и auto, которые
> в подавляющем большинстве случяаев вообще избавляют от нужды
> в динамическом полиморфизме в пользу duck typing. Вот о мышлении
> "давайте для всего сделаем интерфейс" я и говорил - оно вообще не нужно в плюсах. Способность видеть отличие между интерфейсом и реализацией - это плюс.
Интерфейсов в плюсах нет, вместо интерфейсов там абстрактные классы используются.
Из-за того что в плюсах вообще нет интерфейсов - там пришлось сделать
множественное наследование. Которое добавляет сразу большое количество
проблем, - виртуальные базовые классы и т.п.
> Просто берешь и пишешь имплемиентацию.
Можно вообще не заморачиваться никакими паттернами
а просто брать и писать имплементацию.
И оно даже будет как-то работать.
> Если нужна фабрика - это шаблонный метод, ты даже не знаешь,
> какой тип она вернёт и тебе не требуется, чтобы он что-то наследовал
> - только чтобы сигнатуры методов были совместимы с вызовами.
Factory method - это только один из способов реализации фабрики.
Есть и другие, например:
https://en.wikipedia.org/wiki/Abstract_factory_pattern
https://ru.wikipedia.org/wiki/Абстрактная_фабрика_(шаблон_проектирования)
> А в случае джавы - антипаттерн или нет - но придётся наследоваться лишний раз.
С чего бы это вдруг? В Java есть интерфейсы. Там не нужно наследоваться.
> И, разумеется, в плюсах есть вложенные классы - ещё от сишных вложенных
> структур пришли. Другое дело, что у них нет автоматического доступа к
> экземпляру клсса-владельца - надо явно отдать ссылку или указатель на него.
Есть static nested classes, но нет inner classes.
Вот именно inner classes + интерфейсы покрывают все случаи,
когда в плюсах для этого используется создающее проблемы множественное наследование.
> А интерфейс от абстрактного класса вообще ничем кроме названия не отличается.
"Что за бред, простите".