Обёртка (wrapper)

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Обёртка (wrapper)

Сообщение Diamock » 13.02.2010 (Сб) 5:18

Здравствуйте Уважаемые!
Довольно часто приходиться сталкиваться с термином обёртка над...
Общий смысл понятен, это надстройка над какой-либо библиотекой или программой.
Но хотелось бы узнать подробнее, как реализовать такую обёртку самому. С каокй стороны правильно подойти к этому. Если кто-то из Вас Уважаемые форумчане, занимался этим, расскажите пожалуйста. Желательно, применительно к VB6.
Заранее большое спасибо!
С уважением...
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 13.02.2010 (Сб) 5:22

Зачем? Как самоцель? Сделать, чтобы потом сказать «уау! я сделал обёртку!»? Поставить себе памятик, а потом выбросить обёртку?

Когда тебе действительно понадобится делать обёртку, у тебя не будет вопроса «как». Ты просто сделаешь. Не обёртку. А то, что тебе надо. И лишь потом, ты поймёшь, что сделанное тобой есть не что иное, как обёртка.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Обёртка (wrapper)

Сообщение Diamock » 13.02.2010 (Сб) 5:33

Зачем? Как самоцель? Сделать, чтобы потом сказать «уау! я сделал обёртку!»? Поставить себе памятик, а потом выбросить обёртку?

Уважаемый Хакер. Просто, мне интересно, что такое обёртка. О её изготовлении пока не задумывался, потому что не представляю как...

P.s. Я думаю, что простейшей обёрткой является создание ActiveX.dll, с вынесенными туда наиболее часто используемыми API функциями и, дальнейшее её применение в своих проектах.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 13.02.2010 (Сб) 5:37

Если ты не понимаешь, значит ты не поймёшь, даже если постараешься.

Нельзя познать, что такое оптимальное размещение инструментов на столе, просто так. Надо проработать с ними долгое время, надо почувствовать доли секунд дискомфорта, вызванного тем, что нужный инструмент оказывается дальше, чем хочется. Надо испытать микросекунды гнева, возникающие, когда берёшь инструмент, и за него цепляются ещё два. Надо набить руку. Отбить её.

В конце концов, оптимальное размещение инструментов перестанет быть вопросом, превратившись в очевидную вещь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 388
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Обёртка (wrapper)

Сообщение Diamock » 13.02.2010 (Сб) 5:43

Уважаемый Хакер!
Я, надеюсь, что понимание (потому что смысл сказанного вами до меня дошёл) со временем ко мне придёт.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 13.02.2010 (Сб) 7:17

Надеюсь.

А пока можешь почитать статью.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Обёртка (wrapper)

Сообщение Денис » 15.02.2010 (Пн) 10:18

Diamock писал(а):расскажите пожалуйста.


Лучшее объяснение - код. Не так ли?
Вот код простейшего враппера:

Код: Выделить всё
'Код класса clsFile

Option Explicit

Private m_FileName As String

Public Property Let wrpFileName(vData As String)
    m_FileName = vData
End Property

Public Property Get wrpFileName() As String
    wrpFileName = m_FileName
End Property

Public Sub wrpOpenFile()
    Open m_FileName For Binary As #1
End Sub

Public Sub wrpPutText(Text As String)
    Put #1, , Text
End Sub

Public Sub wrpCloseFile()
    Close #1
End Sub


А вот так мы с ним работаем:

Код: Выделить всё
'Код в модуле или в форме

Option Explicit

Sub Main()

Dim cFile1 As clsFile

Set cFile1 = New clsFile

cFile1.wrpFileName = "C:\Temp\File1.txt"
cFile1.wrpOpenFile
cFile1.wrpPutText "Простой пример враппера"
cFile1.wrpCloseFile

End Sub


Естественно, код писался одномоментно, так что к ошибкам не придираться.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Обёртка (wrapper)

Сообщение SLIM » 17.02.2010 (Ср) 22:09

Капец...с каких пор класс стал оберткой? Еще бы приравнял ООП к проектированию оберток.
Хакер привел хорошую ссылку, там все варианты перечислены. Твой не подходит не под один вариант
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 18.02.2010 (Чт) 2:04

SLIM писал(а):Капец...с каких пор класс стал оберткой?

С давних.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Обёртка (wrapper)

Сообщение SLIM » 18.02.2010 (Чт) 7:33

Ну и к какому пункту из приведенной статьи относится класс?
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 18.02.2010 (Чт) 7:36

Пункт 3 писал(а):Другой целью может быть обеспечение дополнительного удобства для прикладного программиста - адаптация библиотеки к объектно-ориентированному стилю программирования, компенсация неудобного дизайна библиотеки и т.п.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Обёртка (wrapper)

Сообщение alibek » 18.02.2010 (Чт) 11:16

SLIM писал(а):Капец...с каких пор класс стал оберткой? Еще бы приравнял ООП к проектированию оберток.

Оберткой можно назвать что угодно, что повышает уровень абстракции.
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Обёртка (wrapper)

Сообщение Денис » 18.02.2010 (Чт) 11:26

Я забираю с полки пирожок SLIM'a, так как он не заслужил! :lol:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Обёртка (wrapper)

Сообщение SLIM » 18.02.2010 (Чт) 21:49

Тогда даже ассемблер - обертка под машинный код, это ведь уровень абстракции.
Пишите жизнь на чистовик.....переписать не удастся.....

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Обёртка (wrapper)

Сообщение alibek » 18.02.2010 (Чт) 22:05

Нет, между ассемблером и машинным кодом по сути разницы нет, ассемблер это мнемоника.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Обёртка (wrapper)

Сообщение Хакер » 18.02.2010 (Чт) 22:15

SLIM писал(а):Тогда даже ассемблер - обертка под машинный код, это ведь уровень абстракции.

Только в случае, если есть несколько разных архитектур с одинаковым набором инструкций, но с совершенно разными способами записи инструкций и их кодами.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Re: Обёртка (wrapper)

Сообщение ASD » 19.02.2010 (Пт) 1:35

Незнаю как обертка, а под wrapper обычно подразумевают врезку.
Чаще всего это делают для вариантов, когда из одного языка (технологии), сложно получить доступ к другой.
К примеру: Нужно создать виртуальный диск в винде и все обращения к нему получать в Net.
Сам Net такого не умеет, ибо туда можно добраться только через DDK и С++. Но на C++ можно написать интерфейсы которые будут видны в Net/COM .
Вот именно эта сишная библиотека и будет врапером.
Moderator VBStreets
---------------------------


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

    TopList