Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.04.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.005 c
2-1408306632
Black7777
2014-08-18 00:17
2016.04.17
Много пользовательский браузер


15-1438706693
aka
2015-08-04 19:44
2016.04.17
длинная арифметика деление


15-1438689372
xayam from work
2015-08-04 14:56
2016.04.17
Пишем здесь свои ники


15-1438479320
Pavelnk
2015-08-02 04:35
2016.04.17
Размер программы


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