|
|
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123AlexJmНу а почему нет? дык по умолчанию, никто не верит, что это ноу-хау)) именно с тонким клиентом. А по картинке - обычная веб страничка....без "пошаговых родов". Самое смешное - что этим (по первым впечатлениям-ковыряниям) действительно вполне можно пользоваться в какой-там наколенной корпоративной ERP. Как замена Oracle Forms - вообще прекрасно. Они б еще Binding Variables ввели - цены б не было. А так - надо DataAccess малость переделывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 09:37:50 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
AlexJmPetro123пропущено... дык по умолчанию, никто не верит, что это ноу-хау)) именно с тонким клиентом. А по картинке - обычная веб страничка....без "пошаговых родов". Самое смешное - что этим (по первым впечатлениям-ковыряниям) действительно вполне можно пользоваться в какой-там наколенной корпоративной ERP. Как замена Oracle Forms - вообще прекрасно. Они б еще Binding Variables ввели - цены б не было. А так - надо DataAccess малость переделывать. Да, похоже, что свой костыль для БД они впилили жёстко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 16:48:51 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Попробуйте сначала сделать классный интерфейс без абстракций. А потом если все еще будет желание, переработаете его в нужные абстракции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 02:18:56 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
privateПопробуйте сначала сделать классный интерфейс без абстракций. А потом если все еще будет желание, переработаете его в нужные абстракции. Как показывает практика, руки "потом" до абстракций или до чего-то подобного не доходят, ибо ведь и так работает ;)) Поэтому если делать - так сразу, пусть это время займет, зато потом профит будет без лишних телодвижений... Оно ведь как обычно бывает - пользователи: "Во, классно сделали! Давайте ещё вот это... вот это и вот это срочно... " - и так далее; потом год за годом вспоминаешь об абстракциях только в курилке))) А кода в проекте становится все больше, и без абстракций... И в один прекрасный момент приходит точка, после которой об абстракциях вообще можно забыть, потому что перепилить существующую отлаженную базу кода = переписать все заново. Спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 09:57:42 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Вот ещё одна штуковина. Тот же JVx, для EE http://sourceforge.net/projects/jvxee/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 10:00:49 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Дело не в том что это займет лишнее время, а что даже без абстракций классный интерфейс встречается в одном случае из 10. В случае-же когда внимание отвлекается на что-то еще типа абстракций - нормальный интерфейс не получается почти никога. Поэтому лучше решать постепенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 12:39:38 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Вот ещё одна штуковина. Тот же JVx, для EE http://sourceforge.net/projects/jvxee/ "как показывает практика (аффтар)" у тебя будет ещё одна 101 штуковина, которая никому не будет нужна. Т.к. это ТЗ: -=*ShamaN*=-Конечная цель: иметь классы представлений, абстрагированные от конкретной технологии абстрактный сферический конь в вакууме. Даже на MVC не тянет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 12:44:21 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123 у тебя будет ещё одна 101 штуковина, которая никому не будет нужна. Объективно, Вам, Petro, она точно не нужна))) Petro123 ... Даже на MVC не тянет. ..и не должно интерфейс тут rich, в вэбе или нет - неважно И для rich stateful моделей больше подходит MVP, который в одном ряду с MVC стоит Как трамплин для реализации подхода, JVx отличный кандидат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:28:52 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-интерфейс тут rich, в вэбе или нет - неважно Огласите весь список "неважно". - HTML5 или неважно? - без апплетов или чистый тонкий клиент или неважно? - для мобилок или неважно? - за 6 шагов пишется проект или за 55 - модель 1С, где свой класс программистов и ЯП или неважно. Просто всё пока абстрактно и далеко от программиста. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:41:17 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
privateДело не в том что это займет лишнее время, а что даже без абстракций классный интерфейс встречается в одном случае из 10. В случае-же когда внимание отвлекается на что-то еще типа абстракций - нормальный интерфейс не получается почти никога. Поэтому лучше решать постепенно. А что понимается под классным интерфейсом? ИМХО, организационно на интерфейс отвлечься "потом" проще, чем на внутренние конструкции приложения. Интерфейс живёт отдельно от логики приложения, меньше рисков сломать что-то отлаженное. Пользователям/заказчикам эти изменения видны, эта работа очевидна. Если заниматься внутренними конструкциями и абстракциями позже, то у пользователей/заказчиков возникают вопросы типа "Вы изменили внутренний код приложения, а что для нас изменилось" и претензии "а стоило ли, если все и так хорошо работало, зачем вы тратите время? задача уже решена, нас все устраивает". У нас есть унаследованное приложение, ситуация ровно такая, как я описал в самом начале: лучше не трогать, чтобы штукатурка не посыпалась, хотя интерфейс меняется без проблем и под аплодисменты. Мое мнение конкретно по этому вопросу не изменится. И, да, как подметил Petro, существует паттерн MVC, который изолирует интерфейс. Эта изоляция позволяет менять интерфейс без изменений в контроллерах и моделях. НО! Если не продумать заранее применение этого паттерна в проекте, но нарисовать классный интерфейс, то стоимость поддержки и изменений такого кода будет возрастать прогрессивно в зависимости от "размера" проекта, неважно, на уровне логики или интерфейса эти изменения вносятся. Кстати, то что я имел ввиду под абстрагированием, покрыто паттерном Adapter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:47:32 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-, - в Delphi ГУИ мышкой кликается одно окно в день. - в JS ГУИ верстается одно окно в день. - в Java - GWT \ JSF ........ Если вы сделали Толстый клиент, то это ваша проблема. Инструменты то есть. Боязнь сломать только от незнания их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 13:59:17 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123-=*ShamaN*=-интерфейс тут rich, в вэбе или нет - неважно Огласите весь список "неважно". 1 - HTML5 или неважно? 2 - без апплетов или чистый тонкий клиент или неважно? 3 - для мобилок или неважно? 4 - за 6 шагов пишется проект или за 55 5 - модель 1С, где свой класс программистов и ЯП или неважно. 6 - Просто всё пока абстрактно и далеко от программиста. IMHO 1) HTML5 или XUL или Swing или Flex или @Delphi! renderer@ - не важно я, как прикладной программист, хочу только описывать: 1) декларативно - что должно быть в интерфейсе 2) программно - обработчики далее я хочу деплоить свои артефакты в абстрактное "приложение" и чтобы они обрабатывались там, т.е., что бы я видел интерфейсы и реакцию 2) В данном подходе есть артефакт, называемый "приложение" - это конкретная реализация, и их может быть несколько (нами выбран Vaadin, как клиентская платформа). Для того чтобы мои декларативные описания работали, нужно написать конкретный движок на Ваадине, а точнее фабрику компонентов. Мои декларативные интерфейсы должны работать на ваадиновском виджетсете. Ну, я завтра захочу Swing... Теперь пишем рендер декларативных интерфейсов в Swing, ведь они и там работать будут, верно? 3) Для мобилок это работать не будет, не стыкуются лэйауты. Хотя поведение менять не придётся. 4) Проект пишется за 55 шагов 5) Декларативная часть подразумевает описание на Java. Хотя приложение, которое рендерит интерфейсы и исполняет обработчики может быть написано и на С. 6) Petro, Вы, как всегда, правы... Реально, этот вопрос относится к компетенции архитекторов. В SCJP вроде бы даже есть отдельно сертификация такая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:04:49 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Декларативная часть подразумевает описание на Java конкретнее пример , и почему не на JS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:12:35 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Я технических проблем реализации не вижу. Паттерны: MVP + Adapter (для компонентов и приложения) JVx ясно даёт показать, что это возможно... Одна и та же демка поставляется: - в Swing (как апплет и Standalone), Flex, GWTxxx, пилится фабрика для ваадин реализации... Чего мы тут спорим, это реально... И, действительно, не важно, что там, HTML или ещё что-то... Да хоть QT/// был бы движок и хавал бы УНИВАРСАЛЬНУЮ АБСТРАКТНУЮ (чувствую, Petro зеленеет) декларацию... Вопрос уже исчерпал себя... давайте завершать дискуссию, уже все понятно, во всяком разе, я разобрался в своём вопросе и уже даже XSD-схему успел нарисовать для описания представлений в XML, а тут все спор никак не утухнет не понятно из-за чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:13:59 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123-=*ShamaN*=-Декларативная часть подразумевает описание на Java конкретнее пример , и почему не на JS? Думали над этим (чтобы в БД типа сложить все можно было). Отказались из-за типизации (её отсутствия) и чтобы не плодить нотации. Хотя идея применения JS в данном случае имеет своё право на жизнь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:17:58 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-, Я если честно не понимаю масштаба вашей проблемы, зачем вам эта абстракция так нужна? Ну написали вы 250 компонентов, которые и под vaadin и под jsf и под Swing, а дальше то что? поддержка всего этого? Вон у Vaadin часто меняются концепции, да и в JSF - Richfaces c IceFaces не дружат. В любом случае вы будете разгребать и строить костыли, так может и не стоит игра свеч? Я уверен что проще разнести архитектуру грамотно, а не порождать лишние уровни абстракции. А сама задача очень интересная желаю вам удачи, думаю вот так сразу вас эта идея не отпустит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:19:33 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Чего мы тут спорим, это реально конечно всё можно написать. И даже так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Только в посыле "не важно какая БД", есть столько же ньюансов, как и в после "неважно что рендер". Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:21:07 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
GregTk Вон у Vaadin часто меняются концепции... Вот от этих изменений я и хочу основную массу прикладного кода оградить... PS// Сама эта идея возникла в процессе перевода с ваадина 6 на 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:22:42 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
GregTk-=*ShamaN*=-, ... желаю вам удачи, думаю вот так сразу вас эта идея не отпустит :) Спасибо)) точно, не отпустит, забористая зараза)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:24:33 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Вот от этих изменений я и хочу основную массу прикладного кода оградить... с этим согласен. Удручает, что при смене версии Любой библиотеки приходится рефакторить код. Но, это наша работа)). Никак не "оградить" ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:25:20 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123-=*ShamaN*=-Вот от этих изменений я и хочу основную массу прикладного кода оградить... с этим согласен. Удручает, что при смене версии Любой библиотеки приходится рефакторить код. Но, это наша работа)). Никак не "оградить" ))))) Petro, на исходе своей кампании по захвату этой методики, могу поделиться впечатлениями и результатом, получилось или нет, если Вам интересно ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:28:30 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-, угу. Вы будете первый, кто разделил 3 богатыря в Java ГУИ <--> прикладной код <--> БЛ с событиями. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:46:48 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123-=*ShamaN*=-, угу. Вы будете первый, кто разделил 3 богатыря в Java ГУИ <--> прикладной код <--> БЛ с событиями. )) ОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 14:59:23 |
|
||
|
Абстрагирование UI
|
|||
|---|---|---|---|
|
#18+
Petro123-=*ShamaN*=-Чего мы тут спорим, это реально конечно всё можно написать. И даже так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Только в посыле "не важно какая БД", есть столько же ньюансов, как и в после "неважно что рендер". Удачи! Вот меня, скажем JVx тоже "зацепил". Но не концепцией "любая БД" или "любой клиент", а тем, что я пока вижу единственную вменяемую (даже Qt нервно курит в сторонке) организацию DataBinding. Т.е. это им почти удалось - TDataSet, но в Java. И что еще немаловажно (в последнее время для это очень актуально) - проект развивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2013, 18:21:36 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38437876&tid=2127987]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
253ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 600ms |

| 0 / 0 |
