|
|
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Petro123Кроме того, есть базовый функционал грида, который всё увеличивается в современном мире. Как правило большинство функций в гриде в каком-нибудь конкретном проекте не нужны, а некоторые навороты могут вообще никогда не понадобятся. Сваливать все функции в один грид - это не айс, а точнее перегруз. В принципе один из минусов в компонентной разработке - перегрузка классов компонентов функциями и свойствами в угоду компонентному методу в разработке приложений. Под перегрузкой я понимаю слишком большое количество функций, методов и свойств в одном классе. Если с проектной точки зрения смотреть - то это перегрузка обязанностей, т.е. когда одному классу дают слишком много обязанностей, и то не своих, которые по логике нужно поручать другим классам. А лишние классы делать - лишние компоненты... Petro123 Базовый класс - "просто сетка" может кому и нужен, но только для эстетов. Ну вообще два подхода я вижу: 1) Есть готовое и это готовое нужно подделать/подкоректировать под свою задачу. 2) Есть основа, конструктор - мы сразу собираем, что нам нужно. Тут весь вопрос, сколько в конкретной задаче время может занять тот или иной подход. Иногда на корректировку готового напильником уходит больше времени, чем сборка из конструктора. Но это не значит, что нужно всегда все собирать из конструкторов, тем более если готовое быстро адаптируется под данную задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 11:32 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
MAYAKOV_SV, 1. ООП знаем? Исходники смотрел? Тогда с чего взял, что перегруз? Расшифруй фразу авторПод перегрузкой я понимаю слишком большое количество функций, методов и свойств в одном классе "сферический конь в вакууме" - Функционал: "над каждой колонкой фильтр" нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 11:39 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Jartisan Если покупать, то да - не нужно. А если его легально получить бесплатно, то можно и за гидроусилитель отдельно все таки заплатить. Безусловно. Только вот JTable в базовой поставке автомобилем не является. С тем же успехом можно на форму html-таблицу выводить. И даже без Java. MAYAKOV_SV Как правило большинство функций в гриде в каком-нибудь конкретном проекте не нужны, а некоторые навороты могут вообще никогда не понадобятся. Сваливать все функции в один грид - это не айс, а точнее перегруз Отлично. То есть правильным решением будет свалить в проект 25 типов сеток от мала до велика и развлекаться всю оставшуюся жизнь? Кстати, это и есть подход нахваливаемых Jide Grids - на каждый частный случай - по своей TableModel. Очень удобно и концептуально...Хочешь сортировку - один грид, а хочешь фильтры - уже другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 11:44 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJm, >Отлично. То есть правильным решением будет свалить в проект 25 типов сеток от мала до >велика и развлекаться всю оставшуюся жизнь? Нет, нужно в своем проекте сделать один грид, например, с 10-ю нужными функциями, а не лазить в списке десятков методов грида на все случаи жизни. Т.е. грид делается под проект, с нужным количеством функций для конкретного проекта. Так наверно. В двух проектах я так делал: в одном делал на базе ListView нужную функциональность, в другом делал настроечный класс, который адаптировал стандартный грид к нужной в моем проекте функциональности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 11:55 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
"AlexJm" <nospam@sql.ru> > Кстати, это и есть подход нахваливаемых Jide Grids - на каждый > частный случай - по своей TableModel модель там 1 - javax.swing.TableModel. и гридов там не так уж и много. Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:03 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Тоже переходил с дельфи на C# ,закончилось java. Искал в свое время решение для десктопа. Среди прочих вопросов был и грид. Swing не понравился. Нашел свое счастье в SWT, точнее jface, а еще точнее в Eclipse RCP. В качестве грида (и некоторых других контролов) использую проект Nebula. Скришот грида можно глянуть http://www.eclipse.org/nebula/widgets/grid/grid.php и тут http://www.eclipse.org/nebula/widgets/xviewer/xviewer.php. По windows выглядит как родной. Есть выделение цветом, форматирование, встраиваемые редакторы ячеек, сортировка (что там еще надо ?). Работа сводится в подсовывании гриду списка объектов и при редактировании сохраняете значение каким угодно способом. Список формируете сами. Все достаточно просто. Есть решения расширяющие это функционал. Я расширил как мне удобно. Решение по сводным таблицам как в jide или devexpress не нашел, хотя не отказался бы от такой функциональности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:09 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Deady модель там 1 - javax.swing.TableModel. и гридов там не так уж и много. Я что-то пропустил? По крайней мере, 4 грида, и каждому нужно дать свою модель-wrapper на TableModel. Разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:11 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
"AlexJm" <nospam@sql.ru> > TableModel но TableModel то один. а все бантики добавляются дополнительными интерфейсами, что понятно. Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:13 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Deady но TableModel то один. а все бантики добавляются дополнительными интерфейсами, что понятно. Дык вот именно этого я и не понял. Можно ли эти бантики комбинировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:15 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
"AlexJm" <nospam@sql.ru> > Автор: AlexJm > Deady > > но TableModel то один. а все бантики добавляются дополнительными > интерфейсами, что понятно. > > > Дык вот именно этого я и не понял. Можно ли эти бантики комбинировать? > Тема Ответить Сообщение > ну ничто не мешает вашей модели реализовать несколько интерфейсов. для того интерфейсы и придуманы Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:16 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Deady ну ничто не мешает вашей модели реализовать несколько интерфейсов. для того интерфейсы и придуманы не, я не про это. Меня у них смущает, например, что есть SortableTableModel и FilterableTableModel. И они просто потомки Wrapper. А вот SortableFilterableTableModel нет А модель-то гриду нужно подсовывать соответствующую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:38 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Обратите внимание: SortableTableModel всего лишь дефолтная реализация интерфейса ISortableTableModel. есть аналогичный IFilterableTableModel ничто не мешает сделать Код: plaintext 1. типа, вот Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:42 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Добрый день, Deady! > Обратите внимание: SortableTableModel всего лишь дефолтная реализация > интерфейса ISortableTableModel. есть аналогичный IFilterableTableModel > > ничто не мешает сделать > > class SortableFilterableTableModel extends SortableTableModel implements IFilterableTableModel И дублировать код! Причём нет ни нормальной реализации, как в eiffel, ни усечённой, как в c++, ни даже примесей, как в scala. Причём последний на JVM компилируется - можно ж сделать... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 12:53 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
"GKS_Samara" <nospam@sql.ru> > И дублировать код! ну это уж, извините, не проблема Jide grids. Скажи Microsoft'у "Прощай"! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 13:05 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Добрый день, Deady! > > И дублировать код! > ну это уж, извините, не проблема Jide grids. Да, это проблема java, delphi и c#. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 13:17 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 13:32 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
AlexJmесть SortableTableModel и FilterableTableModel. И они просто потомки Wrapper. А вот SortableFilterableTableModel нет И слава богу что нет - каждый класс оборачивает предыдущий и выполняет только свою функцию. Нужно просто модель - берем TableModel, нужна фильтрация - оборачиваем FilterableDataModel, хотим еще и отсортировать - оборачиваем еще и SortableTableModel. А нужно сортировать в базе - реализуем в своей модели интерфейс и передаем сортировку в SQL. Все очень логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 03:48 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
пролетевший, А с чего вы взяли что класс должен выполнять Одну ФУНКЦИЮ. Возврат к функциональному? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 08:12 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Добрый день, grasoff.net! >> И дублировать код! > зачем? А, да. Не сразу допёр, что это обёртки. PS: просто постоянно натыкаюсь на проблемы с отсутствием множественного наследования :( -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 08:54 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Petro123пролетевший, А с чего вы взяли что класс должен выполнять Одну ФУНКЦИЮ. Возврат к функциональному? Ну, например из книги "Clear Code" дяди Боба ( Uncle Bob ), советую почитать. Ну и из собственного опыта - легче тестировать, легче сопровождать. Но спор на эту тему уже будет переход от баз данных к обсуждению стиля програмирования :-) . Копий на эту тему сломано тоже немеряно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:00 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > А с чего вы взяли что класс должен выполнять Одну ФУНКЦИЮ. Возврат к > функциональному? Лучше сказать- играет одну роль. Т.е. описывается одним существительным и ничего сверху. FilterableDataModel - обёртка-фильтр для табличной модели SortableTableModel - обёртка-сортировщик для табличной модели А сколько функций у него в интерфейсе- дело десятое. Пример- тот же String. PS: опять Мейера цитирую, блин. Но в ООП ничего нового за прошедшие 25 лет не было вроде :) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:07 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
пролетевший Но спор на эту тему уже будет переход от баз данных к обсуждению стиля програмирования :-) . Копий на эту тему сломано тоже немеряно. согласен. Анализ \ декомпозиция модели ИС на объекты-классы самое неблагодарное \ профессиональное дело :). На взгляд со стороны - не стоит мельчить в архитектуре по ООП. В java этом сабже это особенно видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 10:24 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraНо в ООП ничего нового за прошедшие 25 лет не было вроде :) и не будет. Есть 3 основных принципа-кита... Это как у ходожника, который пишет используя 3-5-20 красок. Либо "картина маслом" есть, либо нет. GKS_SamaraЛучше сказать- играет одну роль. Т.е. описывается одним существительным и ничего сверху. FilterableDataModel - обёртка-фильтр для табличной модели SortableTableModel - обёртка-сортировщик для табличной модели с чего ты взял, что программисту-пользователю такой иерархией удобно ПОЛЬЗОВАТЬСЯ на прикладном уровне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:07 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > с чего ты взял, что программисту-пользователю такой иерархией удобно > ПОЛЬЗОВАТЬСЯ на прикладном уровне? Самое сложное- это когда у тебя есть компонент, играющий две роли, а тебе нужно одну из них. Вот тут начинается мегарефакторинг с кучей ручной работы. А когда надо собрать обернуть модель в фильтруемую и сортируемую- делов на минуту... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:17 |
|
||
|
Java. работа с базами(взгляд Delphi-ста)
|
|||
|---|---|---|---|
|
#18+
GKS_Samara Самое сложное- это когда у тебя есть компонент, играющий две роли, а тебе нужно одну из них. у твоей жены дома комбайн есть? Или DVD \ кинотеатр? :) Я ж говорю, ООП мЫшление либо есть, либо его нет. Т.к. в голове одна половина отвечает за абстрактное восприятие, другая за логическое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=36668488&tid=2127101]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 402ms |

| 0 / 0 |
