powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Абстрагирование UI
25 сообщений из 54, страница 2 из 3
Абстрагирование UI
    #38437876
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AlexJmНу а почему нет?
дык по умолчанию, никто не верит, что это ноу-хау)) именно с тонким клиентом.
А по картинке - обычная веб страничка....без "пошаговых родов".
Самое смешное - что этим (по первым впечатлениям-ковыряниям) действительно вполне можно пользоваться
в какой-там наколенной корпоративной ERP. Как замена Oracle Forms - вообще прекрасно.
Они б еще Binding Variables ввели - цены б не было. А так - надо DataAccess малость переделывать.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38438668
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexJmPetro123пропущено...

дык по умолчанию, никто не верит, что это ноу-хау)) именно с тонким клиентом.
А по картинке - обычная веб страничка....без "пошаговых родов".
Самое смешное - что этим (по первым впечатлениям-ковыряниям) действительно вполне можно пользоваться
в какой-там наколенной корпоративной ERP. Как замена Oracle Forms - вообще прекрасно.
Они б еще Binding Variables ввели - цены б не было. А так - надо DataAccess малость переделывать.

Да, похоже, что свой костыль для БД они впилили жёстко
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439197
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте сначала сделать классный интерфейс без абстракций. А потом если все еще будет желание, переработаете его в нужные абстракции.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439324
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateПопробуйте сначала сделать классный интерфейс без абстракций. А потом если все еще будет желание, переработаете его в нужные абстракции.

Как показывает практика, руки "потом" до абстракций или до чего-то подобного не доходят, ибо ведь и так работает ;))
Поэтому если делать - так сразу, пусть это время займет, зато потом профит будет без лишних телодвижений...
Оно ведь как обычно бывает - пользователи: "Во, классно сделали! Давайте ещё вот это... вот это и вот это срочно... " - и так далее; потом год за годом вспоминаешь об абстракциях только в курилке))) А кода в проекте становится все больше, и без абстракций... И в один прекрасный момент приходит точка, после которой об абстракциях вообще можно забыть, потому что перепилить существующую отлаженную базу кода = переписать все заново. Спасибо за совет.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439329
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ещё одна штуковина. Тот же JVx, для EE
http://sourceforge.net/projects/jvxee/
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439677
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не в том что это займет лишнее время, а что даже без абстракций классный интерфейс встречается в одном случае из 10. В случае-же когда внимание отвлекается на что-то еще типа абстракций - нормальный интерфейс не получается почти никога. Поэтому лучше решать постепенно.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439688
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-Вот ещё одна штуковина. Тот же JVx, для EE
http://sourceforge.net/projects/jvxee/
"как показывает практика (аффтар)"
у тебя будет ещё одна 101 штуковина, которая никому не будет нужна.
Т.к. это ТЗ:
-=*ShamaN*=-Конечная цель: иметь классы представлений, абстрагированные от конкретной технологии
абстрактный сферический конь в вакууме. Даже на MVC не тянет.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439823
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 у тебя будет ещё одна 101 штуковина, которая никому не будет нужна.

Объективно, Вам, Petro, она точно не нужна)))


Petro123 ... Даже на MVC не тянет.

..и не должно
интерфейс тут rich, в вэбе или нет - неважно
И для rich stateful моделей больше подходит MVP, который в одном ряду с MVC стоит

Как трамплин для реализации подхода, JVx отличный кандидат
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439836
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-интерфейс тут rich, в вэбе или нет - неважно
Огласите весь список "неважно".
- HTML5 или неважно?
- без апплетов или чистый тонкий клиент или неважно?
- для мобилок или неважно?
- за 6 шагов пишется проект или за 55
- модель 1С, где свой класс программистов и ЯП или неважно.
Просто всё пока абстрактно и далеко от программиста.
IMHO
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439846
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateДело не в том что это займет лишнее время, а что даже без абстракций классный интерфейс встречается в одном случае из 10. В случае-же когда внимание отвлекается на что-то еще типа абстракций - нормальный интерфейс не получается почти никога. Поэтому лучше решать постепенно.

А что понимается под классным интерфейсом?

ИМХО, организационно на интерфейс отвлечься "потом" проще, чем на внутренние конструкции приложения. Интерфейс живёт отдельно от логики приложения, меньше рисков сломать что-то отлаженное. Пользователям/заказчикам эти изменения видны, эта работа очевидна. Если заниматься внутренними конструкциями и абстракциями позже, то у пользователей/заказчиков возникают вопросы типа "Вы изменили внутренний код приложения, а что для нас изменилось" и претензии "а стоило ли, если все и так хорошо работало, зачем вы тратите время? задача уже решена, нас все устраивает". У нас есть унаследованное приложение, ситуация ровно такая, как я описал в самом начале: лучше не трогать, чтобы штукатурка не посыпалась, хотя интерфейс меняется без проблем и под аплодисменты. Мое мнение конкретно по этому вопросу не изменится.

И, да, как подметил Petro, существует паттерн MVC, который изолирует интерфейс. Эта изоляция позволяет менять интерфейс без изменений в контроллерах и моделях. НО! Если не продумать заранее применение этого паттерна в проекте, но нарисовать классный интерфейс, то стоимость поддержки и изменений такого кода будет возрастать прогрессивно в зависимости от "размера" проекта, неважно, на уровне логики или интерфейса эти изменения вносятся.
Кстати, то что я имел ввиду под абстрагированием, покрыто паттерном Adapter.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439866
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-,
- в Delphi ГУИ мышкой кликается одно окно в день.
- в JS ГУИ верстается одно окно в день.
- в Java - GWT \ JSF ........
Если вы сделали Толстый клиент, то это ваша проблема.
Инструменты то есть.
Боязнь сломать только от незнания их.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439878
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 вроде бы даже есть отдельно сертификация такая...
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439888
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-Декларативная часть подразумевает описание на Java
конкретнее пример , и почему не на JS?
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439890
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я технических проблем реализации не вижу.
Паттерны: MVP + Adapter (для компонентов и приложения)
JVx ясно даёт показать, что это возможно... Одна и та же демка поставляется: - в Swing (как апплет и Standalone), Flex, GWTxxx, пилится фабрика для ваадин реализации...

Чего мы тут спорим, это реально... И, действительно, не важно, что там, HTML или ещё что-то... Да хоть QT/// был бы движок и хавал бы УНИВАРСАЛЬНУЮ АБСТРАКТНУЮ (чувствую, Petro зеленеет) декларацию...

Вопрос уже исчерпал себя... давайте завершать дискуссию, уже все понятно, во всяком разе, я разобрался в своём вопросе и уже даже XSD-схему успел нарисовать для описания представлений в XML, а тут все спор никак не утухнет не понятно из-за чего.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439905
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123-=*ShamaN*=-Декларативная часть подразумевает описание на Java
конкретнее пример , и почему не на JS?

Думали над этим (чтобы в БД типа сложить все можно было). Отказались из-за типизации (её отсутствия) и чтобы не плодить нотации. Хотя идея применения JS в данном случае имеет своё право на жизнь...
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439909
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-,

Я если честно не понимаю масштаба вашей проблемы, зачем вам эта абстракция так нужна?
Ну написали вы 250 компонентов, которые и под vaadin и под jsf и под Swing, а дальше то что? поддержка всего этого?
Вон у Vaadin часто меняются концепции, да и в JSF - Richfaces c IceFaces не дружат. В любом случае вы будете разгребать и строить костыли, так может и не стоит игра свеч?

Я уверен что проще разнести архитектуру грамотно, а не порождать лишние уровни абстракции.

А сама задача очень интересная желаю вам удачи, думаю вот так сразу вас эта идея не отпустит :)
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439911
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-Чего мы тут спорим, это реально
конечно всё можно написать.
И даже так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
object Form1: TForm1
  Left = 226
  Top = 114
  Width = 1142
  Height = 656
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
end


Только в посыле "не важно какая БД", есть столько же ньюансов, как и в после "неважно что рендер".
Удачи!
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439917
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTk Вон у Vaadin часто меняются концепции...

Вот от этих изменений я и хочу основную массу прикладного кода оградить...

PS// Сама эта идея возникла в процессе перевода с ваадина 6 на 7
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439920
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTk-=*ShamaN*=-, ... желаю вам удачи, думаю вот так сразу вас эта идея не отпустит :)

Спасибо)) точно, не отпустит, забористая зараза))
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439923
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-Вот от этих изменений я и хочу основную массу прикладного кода оградить...
с этим согласен.
Удручает, что при смене версии Любой библиотеки приходится рефакторить код.
Но, это наша работа)). Никак не "оградить" )))))
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439926
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123-=*ShamaN*=-Вот от этих изменений я и хочу основную массу прикладного кода оградить...
с этим согласен.
Удручает, что при смене версии Любой библиотеки приходится рефакторить код.
Но, это наша работа)). Никак не "оградить" )))))

Petro, на исходе своей кампании по захвату этой методики, могу поделиться впечатлениями и результатом, получилось или нет, если Вам интересно ;)
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439963
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=*ShamaN*=-,
угу.
Вы будете первый, кто разделил 3 богатыря в Java
ГУИ <--> прикладной код <--> БЛ с событиями.
))
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38439991
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123-=*ShamaN*=-,
угу.
Вы будете первый, кто разделил 3 богатыря в Java
ГУИ <--> прикладной код <--> БЛ с событиями.
))

ОК
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38440365
AlexJm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123-=*ShamaN*=-Чего мы тут спорим, это реально
конечно всё можно написать.
И даже так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
object Form1: TForm1
  Left = 226
  Top = 114
  Width = 1142
  Height = 656
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
end


Только в посыле "не важно какая БД", есть столько же ньюансов, как и в после "неважно что рендер".
Удачи!
Вот меня, скажем JVx тоже "зацепил". Но не концепцией "любая БД" или "любой клиент", а тем, что я пока вижу единственную вменяемую (даже Qt нервно курит в сторонке) организацию DataBinding. Т.е. это им почти удалось - TDataSet, но в Java. И что еще немаловажно (в последнее время для это очень актуально) - проект развивается.
...
Рейтинг: 0 / 0
Абстрагирование UI
    #38500180
Фотография -=*ShamaN*=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот набросок того, что получается, "as is" (попрошу без критики - это пока всего лишь рабочий черновик)
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Абстрагирование UI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]