Главная страница
    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.001 c
15-1439021721
grossm
2015-08-08 11:15
2016.04.17
Видео конвертер


2-1411397568
ВладОшин
2014-09-22 18:52
2016.04.17
с чего тут AV можно словить?


2-1411216368
Tunechi1
2014-09-20 16:32
2016.04.17
Chromium Embedded Cookie


4-1274188614
Zabludshiy
2010-05-18 17:16
2016.04.17
Эскизы картинок в ShelListView


2-1408306632
Black7777
2014-08-18 00:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский