The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Бета-выпуск языка программирования Rust 1.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Бета-выпуск языка программирования Rust 1.0" +/
Сообщение от csdoc (ok), 06-Апр-15, 17:08 
> Что за бред, простите. В плюсах есть мощные шаблоны и 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 + интерфейсы покрывают все случаи,
когда в плюсах для этого используется создающее проблемы множественное наследование.

> А интерфейс от абстрактного класса вообще ничем кроме названия не отличается.

"Что за бред, простите".

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Бета-выпуск языка программирования Rust 1.0, opennews, 04-Апр-15, 10:34  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру