Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
Akella
Дата 16.7.2012, 12:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Цитата(Shaggie @  15.7.2012,  17:20 Найти цитируемый пост)
И копипастнуть в остальные 37 обработчиков кнопок. 

ты дельфи-то юзал хоть раз по нормальному?

Добавлено через 1 минуту и 23 секунды
Тут дело не в дельфи, тут дело в самом программисте. Захочет он использовать MVC/MVP, то будет использовать, а если ему нафиг оно ненуна, то не будет.
PM MAIL   Вверх
Alexeis
Дата 16.7.2012, 16:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(Akella @  15.7.2012,  13:01 Найти цитируемый пост)
я просто не могу понять, а зачем этот MVC-подход?

  Он делает программу менее чувствительной к изменениям. Если есть правильная модель, то на ее основе можно делать различные представления. Можно изменить функционал сохранив вид. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
k0rvin
Дата 17.7.2012, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Zloxa @ 15.7.2012,  17:52)
Может кто нить подсказать, какой десктопный фреймоврк, библиотека классов и что-то вроде ориентирован на паттерн MVC?

Cocoa?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 17.7.2012, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Цитата(Zloxa @  15.7.2012,  17:52 Найти цитируемый пост)
Может кто нить подсказать, какой десктопный фреймоврк, библиотека классов и что-то вроде ориентирован на паттерн MVC?



если опираться на ту нуДную статью и на пример  с чекбоксом, то можно использовать DevExpress
PM MAIL   Вверх
Akella
Дата 18.7.2012, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Цитата(k0rvin @ 17.7.2012,  12:35)
Цитата(Zloxa @ 15.7.2012,  17:52)
Может кто нить подсказать, какой десктопный фреймоврк, библиотека классов и что-то вроде ориентирован на паттерн MVC?

Cocoa?

Наверное, имелось ввиду для Delphi?
PM MAIL   Вверх
k0rvin
Дата 18.7.2012, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Akella @ 18.7.2012,  10:17)
Наверное, имелось ввиду для Delphi?

По-моему имелось в виду вообще.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 18.7.2012, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Зачем ему вообще, если здесь речь о Delphi?
PM MAIL   Вверх
LSD
Дата 18.7.2012, 15:24 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Akella @  18.7.2012,  14:43 Найти цитируемый пост)
Зачем ему вообще, если здесь речь о Delphi?

Дельфи не нужен smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Akella
Дата 18.7.2012, 16:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



говори токма за себя  smile 
PM MAIL   Вверх
Zloxa
Дата 18.7.2012, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(Akella @  18.7.2012,  14:43 Найти цитируемый пост)
Зачем ему вообще, если здесь речь о Delphi? 

Паттерн MVC, как я думаю, придуман для веба. На вебе, ввиду гетерогенности, презентативный слой технологически изолирован от слоя логики, а попытки сделать прозрачным взаимодействие этих слоев пока нелепы. MVC это вынужденный компромисс переходного периода.
Десктопные приложения,  даже не будучи гомогенными, имеют куда более развитые средства взаимодействия промеж сообой. Казалось бы выдели прикладную логику в COM да дергай ее из любой морды, сервиса и бла-бла. Прикладная логика отдает сложный объект, вроде резалтсета - да бога ради, с этим можно как-то справиться. Особой нужды тут в следовании MVC как бы и не прослеживается.

Вот и спрашивал, есть ли  прецеденты. k0rvin, спасибо.

К сожалению о cocoa судить не могу.  В среде, где я вращаюсь это нечто экзотическое и совсем не на слуху. smile
В общем делфи не такой уж и специфичный, оказывается язык....

Добавлено @ 19:37
Цитата(Shaggie @  15.7.2012,  18:20 Найти цитируемый пост)
Дельфи такой специфичный, оказывается, язык, что ему нет нужды отделять данные от способов их отображения и обработки?

Если уж на то пошлло..... классическая делфийская связка DataSet-DataSource-<data aware controll> как бы вполне себе в писывается в MVC. Когда-то я даже понимал зачем это надо, теперь, увы, забыл.

Это сообщение отредактировал(а) Zloxa - 18.7.2012, 19:40


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
k0rvin
Дата 18.7.2012, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Вообще-то, когда был "придуман" MVC, веба не было, о чем можно почитать хотя бы здесь.

Собственно кроме Cocoa, думаю, можно посмотреть современные реализации SmallTalk.

Добавлено через 6 минут и 27 секунд
Цитата(Zloxa @ 18.7.2012,  19:33)
Если уж на то пошлло..... классическая делфийская связка DataSet-DataSource-<data aware controll> как бы вполне себе в писывается в MVC.

Я бы не стал этого утверждать. А смысл DataSource'а я так и не понял.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Zloxa
Дата 19.7.2012, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(k0rvin @  18.7.2012,  22:00 Найти цитируемый пост)
Я бы не стал этого утверждать.

Почему?

Цитата(k0rvin @  18.7.2012,  22:00 Найти цитируемый пост)
А смысл DataSource'а я так и не понял. 

Если смотреть со стороны контролла, который может взять данные напрямую из датасета, то да, как бы не особо понятно зачем лишний слой. Но если смотреть от датасета, датасету нафиг не нужно знать какие контроллы от него ведутся, как и когда их обновлять, об этом знает датасурс. Емнип, датасурс так же управлятет буферами контроллов. У тебя уже есть грид, который показыват пять строк, ты динамически добавляешь новый, который будет уже показывать 10 строк. Данные надо считать, при этом позицию курсора не сбить...


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akella
Дата 20.7.2012, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



MVC было описано или придумано ещё в конце 70х.
Я уверен, что если бы в Delphi был так сильно нужны приёмы MVC, то их бы уже давно жёстко применили, описали в справке, книгах и т.д.

Как я уже говорил, то это дело программиста. Он может сделать жёсткую связку СУБД->SQL-запрос(DataSet, Query)->отображение на экране, а может сделать на уровне MVC, т.е. запрос изменил и данные отображаются другие.
По идее в наследниках DataSet столбцы для отображения данных могут создаваться динамически в момент запуска приложения или в момент создания модуля.

Вот пример.
1. Создаем таблицу в базе.
2. Создаем представление на основе таблицы (View).
3. В TQuery делаем запрос к представлению select * from view.
4. Соединяем TDBGrid с TQuery. В design-time никаких столбцов не создаем у TQuery, т.к. их TQuery создаст сам на основе выборки.
5. Теперь нам достаточно открыть TQuery и в гриде появятся нужные столбцы.
6. Допустим, что пользователь захотел, чтобы в гриде данные отображались в другом порядке или какой-то столбец не нужен.
Изменяем представление (view): убираем оттуда столбец и меняем порядок  других столбцов, хотя, на клиенте это всё тоже можно сделать настройками грида.

6а. Допустим, что пользователь хочет, чтобы в выборке больше не показывались записи из архива.
1. Изменяем представление (view): и добавляем там условие where deleted=0 и всё.
2. Приложение перекомпилировать не нужно.


6б. Допустим, что пользователь хочет, чтобы второй столбец был не текстовым, а датой и чтобы в гриде была при этом правильная сортировка, фильтрация, группирование и соответствующий редактор был, т.к. для даты нужен уже календарь.
1. Добавляем новое поле или изменяем тип старого. Изменяем представление (view): в запросе представления меняем второе поле или просто перекомпилируем в СУБД само представление (view).
2. Теперь TQuery в выборе получит второе поле уже не текстовое поле, а дата, грид создаст на основе типа поля уже соответствующий редактор.

Чем вам не MVC?

Добавлено @ 10:58
Цитата(k0rvin @  18.7.2012,  21:00 Найти цитируемый пост)
А смысл DataSource'а я так и не понял. 

ну там есть некоторые события, которые помогают, например при связке Master-detail
PM MAIL   Вверх
Zloxa
Дата 20.7.2012, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(Akella @  20.7.2012,  11:56 Найти цитируемый пост)
Чем вам не MVC?


Akella, в терминах MVC view  это форма, а не вьюха СУБД. То что ты описал - совсем не MVC.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akella
Дата 22.7.2012, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



и что с того, я просто применил не тот термин и всё
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1323 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.