On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение





Пост N: 72
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 04.12.06 10:34. Заголовок: Все-таки ООП или псевдо?


Сбросил последнюю версию OOHG - очень понятно - когда
объекты - свойства, методы. Жаль, нет класса TSBrowse.
Мне кажется это более прозрачней, чем псевдо стиль.
Может, надо объединить усилия ? Какие мнения?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 16 [только новые]


постоянный участник




Пост N: 128
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.12.06 11:12. Заголовок: Re:


krutoff пишет:

 цитата:
Сбросил последнюю версию OOHG


А что это такое и где его можно посмотреть ?

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 358
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 04.12.06 13:08. Заголовок: Re:


Andrey пишет:

 цитата:
где его можно посмотреть ?


Брать отсюда (последняя сборка датирована 29 ноября):
http://sourceforge.net/projects/oohg


Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 359
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 04.12.06 13:15. Заголовок: Re:


krutoff пишет:

 цитата:
Какие мнения?


Олег! Это давний спор: что удобнее и проще - процедурное программирование или ООП.
Поскольку Харбор используют преимущественно клипперисты, вышедшие из ДОС, то для быстрого освоения под Виндами, мне кажется, что для них понятнее псевдо-ООП, который на самом деле заменяется препроцессором на вызов функций DoMethod(), GetProperty() и SetProperty() в библиотеке MiniGUI.
Ну а для профи более приятен ООП-стиль программирования с его наследованием, инкапсуляцией и полиморфизмом
Как говорится, на вкус и цвет...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 51
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 04.12.06 15:38. Заголовок: Re:


krutoff пишет:

 цитата:
Мне кажется это более прозрачней, чем псевдо стиль.



Мне тоже

krutoff пишет:

 цитата:
Может, надо объединить усилия ?



В смысле свести OOHG и MiniGUI Extended ?
Или перевести MiniGUI Extended на ООП ?
Или написать класс-обертку TSBrowse для OOHG ?
Или сделать очередной форк ( например OOHG Extended ) ?



Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 361
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 04.12.06 20:45. Заголовок: Re:


gfilatov пишет:

 цитата:
Это давний спор: что удобнее и проще - процедурное программирование или ООП


Да, кстати, критику ООП-подхода можно посмотреть по этой ссылке (на английском ):
http://www.geocities.com/SiliconValley/Lab/6888/oopbad.htm


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 81
Зарегистрирован: 28.06.05
ссылка на сообщение  Отправлено: 05.12.06 18:47. Заголовок: Re:


два мира - две правды..

кус кода из minigui

function _DefineBtnTextBox ( ControlName, ParentFormName, x, y, w, h, ;
cValue, ProcedureName, bitmap, BtnWidth, FontName, FontSize, ;
ToolTip, nMaxLenght, lUpper, lLower, lNumeric, lPassword, ;
uLostFocus, uGotFocus, uChange , uEnter , right , HelpId , ;
bold, italic, underline, strikeout , field , backcolor , fontcolor , ;
invisible , notabstop , nId )
...
Public &mVar. := k
...
Не правда ли, красиво и понятно, а?
а реализация!! какой-то массив _HMG_aControlPicture внутри. Да еще и Public создается. А грохать его - кто будет? Ответ - а никто. Так сделано, так придумано. Horror..
Кроме того, "внутренние" глобальные переменные для каждого элемента управления - это по меньшей мере - нонсенс.
В результате MiniGui - большой черный ящик, к тому же неаппетитно написанный.
Все видимые проблемы максимально маскирУются #command и #xcommand. PPO выглядят ужасающе.

Нормальный подход при нормальном (ООП) программировании:

oBtnTextBox := TBtnTextBox( Owner )
oBtnTextBox:HelpId := <..>
oBtnTextBox:OnClick := {|oSender| <..> }
oBtnTextBox:FontName := <..> // здесь автоматом может вызываться, например, ::Invalidate для рефреша
<...> (прочие методы и свойства).

Не правда ли, гораздо понятнее и проще - как в реализации, так и в использовании, да и в добавлении в класс новых свойств?

Вывод - hwgui или OOHG. Первый - предпочтительнее (платформонезавиcимый, наш и тд). Вот к ним надо и присматриваться. Писать samples, развивать библиотеки.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 59
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.12.06 21:48. Заголовок: Re:


SergeJa пишет:

 цитата:
два мира - две правды..



Это процедурное программирование и ООP - опять два мира?
А AOP? FOP? Другие подходы уже не в счет?

SergeJa пишет:

 цитата:
Function _DefineBtnTextBox ( ControlName, ParentFormName, x, y, w, h, ;
cValue, ProcedureName, bitmap, BtnWidth, FontName, FontSize, ;
ToolTip, nMaxLenght, lUpper, lLower, lNumeric, lPassword, ;
uLostFocus, uGotFocus, uChange , uEnter , right , HelpId , ;
bold, italic, underline, strikeout , field , backcolor , fontcolor , ;
invisible , notabstop , nId )
...
Public &mVar. := k
...
Не правда ли, красиво и понятно, а?


Вполне сравнимо с hwgui
CLASS HEdit INHERIT HControl
...
METHOD New( oWndParent,nId,vari,bSetGet,nStyle,nLeft,nTop,nWidth,nHeight, ;
oFont,bInit,bSize,bPaint,bGfocus,bLfocus,ctooltip, ;
tcolor,bcolor,cPicture,lNoBorder, lMaxLength, lPassword ) CLASS HEdit

или с OOHG
CLASS TText
..
METHOD Define( cControlName, cParentForm, nx, ny, nWidth, nHeight, cValue, ;
cFontName, nFontSize, cToolTip, nMaxLength, lUpper, lLower, ;
lPassword, uLostFocus, uGotFocus, uChange, uEnter, right, ;
HelpId, readonly, bold, italic, underline, strikeout, field, ;
backcolor, fontcolor, invisible, notabstop, lRtl, lAutoSkip, ;
lNoBorder, OnFocusPos, lDisabled, bValid ) CLASS TText

SergeJa пишет:

 цитата:
Да еще и Public создается. А грохать его - кто будет? Ответ - а никто.


С каких пор удалить Public стало проблемой?

SergeJa пишет:

 цитата:
Все видимые проблемы максимально маскирУются #command и #xcommand. PPO выглядят ужасающе.


Clipper, [x]Harbour, hwgui, OOHG и т.д. активно используют препроцессор, ну и что в этом плохого?
Вы бы видели PPO Clipperа ( USE, CREATE INDEX, APPEND FROM..) - вот где ужас, так ужас

SergeJa пишет:

 цитата:
В результате MiniGui - большой черный ящик, к тому же неаппетитно написанный.


Примерно так выражаются линуксоиды по отношению к MS Window
Только MiniGui Extended поставляется с исходным кодом.

SergeJa пишет:

 цитата:
Вывод - hwgui или OOHG. Первый - предпочтительнее (платформонезавиcимый, наш и тд). Вот к ним надо и присматриваться. Писать samples, развивать библиотеки.


Я б добавил еще HbWxW: xHarbour bindings for wxWidgets CrossPlatform GUI Library Mareka Paliwoda -
классический ООП подход, Xailer ничего, хоть и коммерческий, но ООП рулит
Но, как было сказано, на вкус и цвет..

Присматриваться надо, писать, развивать - нет проблем.
Но загляните на hwgui.fastbb.ru - сколько там зарегистрированных участников.
Если бы не энтузиазм А.Кресина, большой ему респект, то..







Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 365
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 06.12.06 12:02. Заголовок: Re:


SergeJa пишет:

 цитата:
Да еще и Public создается. А грохать его - кто будет?


Эти Public переменные должны быть очищены автоматически при удалении этого элемента управления.

SergeJa пишет:

 цитата:
В результате MiniGui - большой черный ящик


Мне кажется, что для прикладного программиста любой инструментарий выглядит как черный ящик - будь то СИ, Дельфи, Бейсик, Харбор или что-то еще

SergeJa пишет:

 цитата:
Все видимые проблемы максимально маскирУются


Какая уж тут маскировка, если есть все исходники

SergeJa пишет:

 цитата:
Писать samples, развивать библиотеки.


Думаю, что это дело сугубо добровольное...


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 08.11.06
ссылка на сообщение  Отправлено: 07.12.06 09:35. Заголовок: Лажа какая-то



критика ООП основана на том что коммунизм(=социализм) это плохо.

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 366
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 07.12.06 09:52. Заголовок: Re:


SadStar3 пишет:

 цитата:
коммунизм(=социализм) это плохо


Никакой политики...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 63
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.12.06 10:44. Заголовок: Re:


SadStar3 пишет:

 цитата:
критика ООП основана на том что коммунизм(=социализм) это плохо.



Читали невнимательно - критика ООП не привязана к оценке коммунизма
( один абзац о экономическом комунизме )
и вывод
Communis also looked good in theory, but its base assumptions
about human nature and change patterns missed their mark.
Коммунизм также ( как и ООП ) выглядел хорошим в теории, но его основные предположения о человеческой природе и образцах изменения не достигли цели.

Автор также не отбрасывает ООП, хотя и жалуется, что выбор такого направления существенно замедлил развитие других направлений в программировании.

Критика автора, скорее всего, основывается его личном опыте в разработке программ
I have been programming small and medium custom business applications for most of my career.

Но вобще-то вернемся к теме разговора GUI ( The GUI Link ) и здесь автор отдает должное ООП решениям, делает предположение, что рост популярности ООП связан с GUI разработками, и что теперь ООП GUI предлагается как решение всего и вся.
И далее говорит : "ООП само по себе не позволяет программам делать вещи, которые они не могли сделать прежде". С чем в принципе не согласиться трудно.






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 247
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.12.06 11:37. Заголовок: Re:


Петр пишет:

 цитата:
И далее говорит : "ООП само по себе не позволяет программам делать вещи, которые они не могли сделать прежде". С чем в принципе не согласиться трудно.


В программировании важно не что делать, а как делать!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 08.11.06
ссылка на сообщение  Отправлено: 08.12.06 01:17. Заголовок: Может я плохо смотрел?


Вчера посмотрел примеры из OOHG и не нашел отличий от MiniGUI.
Хотя и повторно открыл для себя некоторые возможности MiniGUI.
Может ктонибудь ткнет пальцем - куда надо смотреть?



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 73
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 08.12.06 13:10. Заголовок: Re:


В исходниках библиотеки OOHG все прозрачнее

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 70
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.12.06 23:42. Заголовок: Re:


SadStar3 пишет:

 цитата:
Вчера посмотрел примеры из OOHG и не нашел отличий от MiniGUI.



Смотрите примеры MainDemo и oohg, все остальное действительно взято из MiniGUI (не Extended) и должно демонстрировать, что старый код написанный для использования с MiniGUI не надо будет переписывать при переходе на OOHG.
Впрочем это только мои догадки, может нет времени переписать примеры или желания (желающих).

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 369
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 09.12.06 19:09. Заголовок: Re:


Петр пишет:

 цитата:
может нет времени переписать примеры или желания (желающих).


Петр,
Думаю, что Вы не далеки от истины. У меня сложилось подобное впечатление...


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 105
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет