Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.04.17;
Скачать: [xml.tar.bz2];

Вниз

interface/implementation   Найти похожие ветки 

 
Kerk ©   (2015-08-02 11:50) [0]

А знаете что было бы забавно?

Вот у каждого юнита есть секции interface и implementation.
Нужно чтоб интерфейсу юнита можно было подцеплять разные implementation.

В других языках, где есть модули, такое встречается, но как-то мне в голову не приходило применить это к паскалю. Это изменило бы очень многое в подходах к программированию на паскале.


 
Германн ©   (2015-08-02 12:23) [1]

Подцепляй через {$I


 
Kerk ©   (2015-08-02 12:28) [2]

Это не то. Во время выполнения через {$I модуль не подцепишь.


 
Dimka Maslov ©   (2015-08-02 13:19) [3]

Делаем один модуль в секции interface которого только абстрактные классы. Затем плодим кучу модулей, где абстрактные методы перекрываются. Не то?


 
Игорь Шевченко ©   (2015-08-02 15:55) [4]


> Это изменило бы очень многое в подходах к программированию
> на паскале.


Ты изобрел паттерн фабрика ? Поздравляю.


 
Kerk ©   (2015-08-02 15:58) [5]

Причем тут фабрика-то. Это скорее полиморфизм, но не на уровне класса, а на уровне всего модуля.


 
Inovet ©   (2015-08-02 17:29) [6]

> [5] Kerk ©   (02.08.15 15:58)

Второй слой полиморфизма.


 
Германн ©   (2015-08-03 00:58) [7]


> Kerk ©   (02.08.15 12:28) [2]
>
> Это не то. Во время выполнения через {$I модуль не подцепишь.
>

А что тогда то?


 
Юрий Зотов ©   (2015-08-03 02:29) [8]

> Kerk ©   (02.08.15 15:58) [5]
> Причем тут фабрика-то.


1. Объявляем интерфейс.

2. Делаем кучу реализующих его классов (для наглядности - каждый класс в своем модуле, хотя это и не обязательно). Понятно, что каждый класс может реализовывать этот интерфейс по-своему.

3. Делаем фабрику с параметром. В зависимости от этого параметра фабрика возвращает экземпляр того или иного класса, но мы всегда получаем от нее ссылку на интерфейс.

4. Получили искомое (run-time варианты implementation).


 
Cobalt ©   (2015-08-05 09:20) [9]

Такое реализовано давно, см папку XML в исходниках Дельфи.
с 3-мя реализациями (MSXSML, Open XML и Xerces XML в 7-ке)


 
icWasya ©   (2015-08-05 10:25) [10]

А что тогда что?
Человек хочет Оберон.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2016.04.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.002 c
15-1439069404
Юрий
2015-08-09 00:30
2016.04.17
С днем рождения ! 9 августа 2015 воскресенье


15-1439225157
Pavelnk
2015-08-10 19:45
2016.04.17
Скачивание файла, загадка


15-1439021721
grossm
2015-08-08 11:15
2016.04.17
Видео конвертер


15-1438505404
Kerk
2015-08-02 11:50
2016.04.17
interface/implementation


15-1438604994
K-1000
2015-08-03 15:29
2016.04.17
Как подключить свою папку с наработками?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский