Автор | Сообщение |
|
| |
Пост N: 72
Зарегистрирован: 17.10.05
|
|
Отправлено: 04.12.06 10:34. Заголовок: Все-таки ООП или псевдо?
Сбросил последнюю версию OOHG - очень понятно - когда объекты - свойства, методы. Жаль, нет класса TSBrowse. Мне кажется это более прозрачней, чем псевдо стиль. Может, надо объединить усилия ? Какие мнения?
| |
|
Ответов - 16
[только новые]
|
|
|
| постоянный участник
|
Пост N: 128
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.12.06 11:12. Заголовок: Re:
krutoff пишет: цитата: | Сбросил последнюю версию OOHG |
| А что это такое и где его можно посмотреть ?
| |
|
|
| модератор
|
Пост N: 358
Зарегистрирован: 25.05.05
|
|
Отправлено: 04.12.06 13:08. Заголовок: Re:
| |
|
|
| модератор
|
Пост N: 359
Зарегистрирован: 25.05.05
|
|
Отправлено: 04.12.06 13:15. Заголовок: Re:
krutoff пишет: Олег! Это давний спор: что удобнее и проще - процедурное программирование или ООП. Поскольку Харбор используют преимущественно клипперисты, вышедшие из ДОС, то для быстрого освоения под Виндами, мне кажется, что для них понятнее псевдо-ООП, который на самом деле заменяется препроцессором на вызов функций DoMethod(), GetProperty() и SetProperty() в библиотеке MiniGUI. Ну а для профи более приятен ООП-стиль программирования с его наследованием, инкапсуляцией и полиморфизмом Как говорится, на вкус и цвет...
| |
|
|
| постоянный участник
|
Пост N: 51
Зарегистрирован: 09.10.06
|
|
Отправлено: 04.12.06 15:38. Заголовок: Re:
krutoff пишет: цитата: | Мне кажется это более прозрачней, чем псевдо стиль. |
| Мне тоже krutoff пишет: цитата: | Может, надо объединить усилия ? |
| В смысле свести OOHG и MiniGUI Extended ? Или перевести MiniGUI Extended на ООП ? Или написать класс-обертку TSBrowse для OOHG ? Или сделать очередной форк ( например OOHG Extended ) ?
| |
|
|
| модератор
|
Пост N: 361
Зарегистрирован: 25.05.05
|
|
Отправлено: 04.12.06 20:45. Заголовок: Re:
| |
|
|
| |
Пост 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, развивать библиотеки.
| |
|
|
| постоянный участник
|
Пост 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 - сколько там зарегистрированных участников. Если бы не энтузиазм А.Кресина, большой ему респект, то..
| |
|
|
| модератор
|
Пост N: 365
Зарегистрирован: 25.05.05
|
|
Отправлено: 06.12.06 12:02. Заголовок: Re:
SergeJa пишет: цитата: | Да еще и Public создается. А грохать его - кто будет? |
| Эти Public переменные должны быть очищены автоматически при удалении этого элемента управления. SergeJa пишет: цитата: | В результате MiniGui - большой черный ящик |
| Мне кажется, что для прикладного программиста любой инструментарий выглядит как черный ящик - будь то СИ, Дельфи, Бейсик, Харбор или что-то еще SergeJa пишет: цитата: | Все видимые проблемы максимально маскирУются |
| Какая уж тут маскировка, если есть все исходники SergeJa пишет: цитата: | Писать samples, развивать библиотеки. |
| Думаю, что это дело сугубо добровольное...
| |
|
|
| |
Пост N: 2
Зарегистрирован: 08.11.06
|
|
Отправлено: 07.12.06 09:35. Заголовок: Лажа какая-то
критика ООП основана на том что коммунизм(=социализм) это плохо.
| |
|
|
| модератор
|
Пост N: 366
Зарегистрирован: 25.05.05
|
|
Отправлено: 07.12.06 09:52. Заголовок: Re:
SadStar3 пишет: цитата: | коммунизм(=социализм) это плохо |
| Никакой политики...
| |
|
|
| постоянный участник
|
Пост 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 предлагается как решение всего и вся. И далее говорит : "ООП само по себе не позволяет программам делать вещи, которые они не могли сделать прежде". С чем в принципе не согласиться трудно.
| |
|
|
|
| постоянный участник
|
Пост N: 247
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.12.06 11:37. Заголовок: Re:
Петр пишет: цитата: | И далее говорит : "ООП само по себе не позволяет программам делать вещи, которые они не могли сделать прежде". С чем в принципе не согласиться трудно. |
| В программировании важно не что делать, а как делать!
| |
|
|
| |
Пост N: 5
Зарегистрирован: 08.11.06
|
|
Отправлено: 08.12.06 01:17. Заголовок: Может я плохо смотрел?
Вчера посмотрел примеры из OOHG и не нашел отличий от MiniGUI. Хотя и повторно открыл для себя некоторые возможности MiniGUI. Может ктонибудь ткнет пальцем - куда надо смотреть?
| |
|
|
| |
Пост N: 73
Зарегистрирован: 17.10.05
|
|
Отправлено: 08.12.06 13:10. Заголовок: Re:
В исходниках библиотеки OOHG все прозрачнее
| |
|
|
| постоянный участник
|
Пост N: 70
Зарегистрирован: 09.10.06
|
|
Отправлено: 08.12.06 23:42. Заголовок: Re:
SadStar3 пишет: цитата: | Вчера посмотрел примеры из OOHG и не нашел отличий от MiniGUI. |
| Смотрите примеры MainDemo и oohg, все остальное действительно взято из MiniGUI (не Extended) и должно демонстрировать, что старый код написанный для использования с MiniGUI не надо будет переписывать при переходе на OOHG. Впрочем это только мои догадки, может нет времени переписать примеры или желания (желающих).
| |
|
|
| модератор
|
Пост N: 369
Зарегистрирован: 25.05.05
|
|
Отправлено: 09.12.06 19:09. Заголовок: Re:
Петр пишет: цитата: | может нет времени переписать примеры или желания (желающих). |
| Петр, Думаю, что Вы не далеки от истины. У меня сложилось подобное впечатление...
| |
|
|
|