Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизКак вы относитесь к DB-Aware компонентам? Найти похожие ветки
← →
Вариант (2010-02-03 12:43) [40]
> Sergey13 © (03.02.10 12:01) [38]
> А где я призывал не писать код?
Не призывал. Я просто спросил.
> Меня стремает писать лишний (с моей точки зрения) код только
> по идеологическим причинам
Меня тоже. Но пишу когда надо и не по идеологическим причинам, а потому что если не написать, то будут проблемы с базой, с целостностью вводимых данных - и неважно код это для формы или для ликвидации "заморочек" грида -писать надо, если важна целостность и достоверность данных. На мой взгляд код для формы проще. У тебя и других может быть свое мнение.
Идеологическая причина -это когда например на фирме говорят - "в гриде не редактировать!!!".
А когда код пишется, что бы ночью не приезжать и не делать лишнюю работу по восстановлению базы - это причина личная - хочется нормально спать.
← →
Sergey13 © (2010-02-03 13:35) [41]> [40] Вариант (03.02.10 12:43)
ИМХО есть целость и непротиворечивость данных в понятиях сервера СУБД (ключи и зависимости разные) и есть то-же самое в понятиях бизнес-логики (типа остаток=приход-расход). Грид сам по себе не может нарушить ни первое ни второе. Первому просто пофиг кто и как что-то делает. А второе зависит только от программиста.
← →
Вариант (2010-02-03 13:55) [42]
> Sergey13 © (03.02.10 13:35) [41]
Нет кода - нет бизнес логики -я собственно об этом говорил.
> . Но пишу когда надо и не по идеологическим причинам, а
> потому что если не написать, то будут проблемы с базой,
> с целостностью вводимых данных
Когда мы код в датасете, в котором ты проверяешь бизнес логику, привязываем фактически к гриду ( вот перемещение в гриде вызвало переход на следующую запись в датасете и надо запретить переход так как мы в dsEdit или dsInsert, делаем в обработчике(ax) датасета Abort), то это на мой взгляд и есть лишний код, не связанный с бизнес логикой. И это не единственное место, где прийдется писать подобный код и не единственная ситуация.
← →
Sergey13 © (2010-02-03 14:01) [43]> [42] Вариант (03.02.10 13:55)
> вот перемещение в гриде вызвало переход на следующую запись
> в датасете и надо запретить переход так как мы в dsEdit
> или dsInsert, делаем в обработчике(ax) датасета Abort),
> то это на мой взгляд и есть лишний код
А в модальной форме ты не проверяешь заполненность всех нужных полей? Это не один и тот же код?
← →
Вариант (2010-02-03 14:26) [44]
> Sergey13 © (03.02.10 14:01) [43]
Это разный код на мой взгляд. И там и там есть одни и те же проверки, и там и там я могу показать сообщение о том, что-то не так. Но в модальной форме я могу сделать это в одном месте. Мне нет необходимости отслеживать другие связанные с датасетом контролы вне модальной формы, если такие есть... Модальная форма не даст к ним обратиться. В случае с гридом же пользователю например хотелось бы видеть внятное объяснение, почему нельзя вести поиск или надо запретить такую возможность - это тоже доп. код. - это вариант, но более раскиданный по разным местам кода.
Просто мои предпочтения в форме, по крайней мере в случае простого грида (TDBGRID) для дельфи. Это мы уже сместились в тему - почему я считаю форму с кодом лучше грида с кодом.
Изначально же вопрос был - что просто кинуть грид не получится, есть проблемы,прийдется писать код и не просто в одном месте и не код бизнес логики, а код защиты от действий связанных с особенностями редактирования в гриде
← →
Sergey13 © (2010-02-03 15:03) [45]> [44] Вариант (03.02.10 14:26)
> Но в модальной форме я могу сделать это в одном месте.
В обработчике БифоПост будет примерно то же самое, ИМХО. При чем для ВСЕХ форм, в которых возможно изменение датасета.
> [44] Вариант (03.02.10 14:26)
> Изначально же вопрос был - что просто кинуть грид не получится,
> есть проблемы,прийдется писать код и не просто в одном
> месте и не код бизнес логики, а код защиты от действий связанных
> с особенностями редактирования в гриде
Перечитал изначальный вопрос. Поискал слово "код" в ветке. Впервые оно встретилось в 22 посте от Ганза. 8-)
А вопрос сводился к
> Не могу грамотно по пунктам описать, почему мне не нравятся такие компоненты, ну неудобные они какие-то.
8-)
← →
Вариант (2010-02-04 06:05) [46]
> Sergey13 © (03.02.10 15:03) [45]
> В обработчике БифоПост будет примерно то же самое, ИМХО.
> При чем для ВСЕХ форм, в которых возможно изменение датасета.
>
Напиши этот код, насколько будет то же самое? Пойдет схематично, план действий по пунктам например, 1) проверка заполненности полей согласно правилам бизнес логики 2)...еще что-то.. 3) еще что-то.
Если делать только проверку бизнес логики - то на действия пользователя по поиску в датасете какой-либо записи мы получим сообщение типа " не заполнены какие-то поля, завершите редактирование таблицы такой-то", может быть даже вернешь фокус на грид, покажещь форму(контрол, контейнер) в которой(м) этот грид. Нормальное сообщение, вполне подсказывающее, но не всем.
Особенно если оператор просто перешел на другую форму (это сообщение может показаться неожиданным) и начал редактировать в ней и в ней начал поиск связанный с гридом(датасетом) в первой форме. Так и будет скакать между формами, если догадается конечно, если уже поработал с программой и знает ее особенности, если читал документацию по работе с програмой и запомнил ее. Довольно много если, хотя и объеденены по "или".
PS:
Признаю придрался к фразе ВСЕХ форм:-) и что не был достаточно убедителен, но продолжить сегодня дискуссию возможно не смогу или мое присутствие на сайте будет ограничено по по времени. Вчера было время, был выходной -сегодня много работы.
← →
Sergey13 © (2010-02-04 11:28) [47]> [46] Вариант (04.02.10 06:05)
> Напиши этот код, насколько будет то же самое? Пойдет схематично,
> план действий по пунктам например, 1) проверка заполненности
> полей согласно правилам бизнес логики 2)...еще что-то..
> 3) еще что-то.
Так ты его уже написал. 8-)
1) проверка наличия кода, количества и цены товара
2) не все поля заполнены - выход
Только не надо мне говорить, что правила бывают архисложные и т.д. и т.п. Я это знаю и не заявляю, что грид единственно возможный вариант работы.
Но применять для работы с табличными данными табличные же инструменты по моему логично.
← →
Sergey13 © (2010-02-04 11:30) [48]> [46] Вариант (04.02.10 06:05)
> Напиши этот код, насколько будет то же самое? Пойдет схематично,
> план действий по пунктам например, 1) проверка заполненности
> полей согласно правилам бизнес логики 2)...еще что-то..
> 3) еще что-то.
Так ты его уже написал. 8-)
1) проверка наличия кода, количества и цены товара
2) не все поля заполнены - выход
Только не надо мне говорить, что правила бывают архисложные и т.д. и т.п. Я это знаю и не заявляю, что грид единственно возможный вариант работы.
Но применять для работы с табличными данными табличные же инструменты по моему логично.
← →
Sergey13 © (2010-02-04 11:56) [49]офтор
Сори за дубль. Что то у меня форум глючит. Это кстати только у меня?
← →
Piter © (2010-02-04 18:21) [50]Удалено модератором
Примечание: Offtopic
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.083 c