Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
В общем случаи невозможно(очень много вариантов) автоматически сделать лучший вариант работы с н.д. Хотя, возможно сделать ограниченно - лучший вариант, с возможностью уменьшения ограни- чений.... Т.е. полноценный конструктор - это очень сложная постановка задачи, к томуже это не самое важное... Формат сохранения форм и конструктор - это одно и тоже. Выход из положения - универсальная схема построения форм, без привязки к способу построения: Я определяю множество всех возможностей формы редактирования, (компоненты, свойства компонент, панели ....) Таким образом, в конструкторе форм, я определяю универсальный шаблон редактора данных - так сказать базовый класс, который может работать с любыми наборами данных, в зависимости от того, как его инициализировать. Тогда: На входе у меня есть класс - Универсальный не инициализированный редактор наборов данных, на выходе - инициализированный редактор наборов данных - готовая форма, для работы конкретным образом, с конкретным н.д. Тогда главное - правильно определить класс универсальный редактор данных, т.е. набор компонентов, методы реагирования на события.... Здесь на этапе проектирования я всё предусмотреть несмогу, тогда нужно сделать этот класс и его инициализацию гибкую к добавлению новых компонентов и методов обработки событий..... Это можно сделать, если в этом классе создать метод init, и при создании вызывать его из конструктора create... Тогда я смогу сделать чтото ограниченное (напр просто грид отображающий указанный н.д и всё), а потом без проблем со временем просто добавлять новые возможности (отображение комбобоксов, панель поиска, вычисляемые поля...). Добавлять возможности, теоретически можно 2мя способами: 1. Просто изменять этот базовый класс. 2. Наследовать базовый класс, и в потомке добавлять новые свойства. ........ Если у когото есть замечания пожелания соображения, прошу высказать своё мнение, заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 13:35 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
изобретаем вездеход, который станет очередным велосипедом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 13:44 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
gardenmanизобретаем вездеход, который станет очередным велосипедом... я ничего пока не изобретаю, а хочу всеголишь принять правильное решение, если вам несложно напишите свои пожелания по теме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 13:48 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
Я такое уже сделал, почитай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 20:46 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
2 traktor123 Чуствуется маятность души. О каком клиенте идет речь? О Visual Basic или PowerBuilder? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2004, 06:05 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
А можно подробнее? Речь о создании средства разработки клиентов БД? И первый вопрос здесь - что плохо в васике, дельфи и прочих формсах (SQL*Forms) ? Дело в том, что создание такой вещи - довольно большая работа. У нас был некоторый опыт в этой сфере, не факт что положительный. Результат - генератор форм и исполняющая система. Формы могут содержать любое число блоков данных, текстовые поля, таблицы (grid), закладки. Могут быть подключены формы-справочники. Описание всего этого хранится в четырех таблицах БД. Сложность разработки конкретных форм представляется невысокой (собственно это и было целью), никаких особых красивостей не предусмотрено. Написано все на C++. Наследование форм возможно, но смысл в этом есть только если хочется изменить поведение (блокировки, запись в БД и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 16:33 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
Последнее время занимался похожей ерундой (на Delphi) - и в конце концов пришел к выводу, что лучшее решение - это форма с основными действиями (grid, buttons, etc) - и наследование от него для всего, что надо дополнительно. И, главное - не более того :) иначе все дико усложняется и решение, хоть и универсальное, теряет в гибкости и жрет кучу времени на поддержку/отладку/доработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2004, 07:13 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
ShrПоследнее время занимался похожей ерундой (на Delphi) - и в конце концов пришел к выводу, что лучшее решение - это форма с основными действиями (grid, buttons, etc) - и наследование от него для всего, что надо дополнительно. И, главное - не более того :) иначе все дико усложняется и решение, хоть и универсальное, теряет в гибкости и жрет кучу времени на поддержку/отладку/доработку. Полностью поддерживаю. Кажется подобная дискуссия уже была, но не важно. Каждого программиста в определенный момент времени посещает желание написать мега-универсальный компонент, который бы сам делал все. Это желание появляется после периода "кодера", когда появляется какая-то уверенность в своих силах и желание поразить мир. Истина же (которую познают на следующем этапе развития программиста, как профессионала) состоит в том, что такие супер механизмы могут эффективно работать лишь в очень простых случаях (редактирование справочников и т.п.). Как только суперкомпонент пытаются применить к реальным задачам, оказывается, что не все так просто, что есть исключения, что вот тут надо "точно так же, но чуть по другому". Наш разработчик судорожно пытается приспособить свой компонент к суровым реалиям, пишутся костыли, дополнительные проверки, ответвления, которые реально срабатывают только один раз и нужны только для того, чтобы решить данную конкретную проблему. И таким образом код все более усложняется, суперкомпонент становится все более непонятным и поддерживать его может только один человек, его "творец". К чему это я все ? А вот к чему. traktor123, если Вы сможете убедить руководство в необходимости реализации Ваших идей, то перспективы у Вас самые радужные: 1 вы интересно проведете время, создавая шедевр и радуясь, как он успешно справляется с тестовыми задачами 2 вы заслужите всеобщее уважение, показав пункт 1 3 Ваше "дитя" станет основой новой, перспективной системы 4 с этого момента вы больше не будете заниматься прикладными задачами, а все время проведете исключительно развивая свое творение 5 постепенно станете незаменимым человеком в команде, принадлежащим к "элитной" касте "системщиков" 6 можете смело требовать повышения з.п. и не бояться, что Вас уволят (помните, кроме Вас с монстром никто не справится) 7 перейдете на след. этап развития, который называется KIS(S) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2004, 17:56 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
Добавлю еще пару пунктов: 8. В конце концов свой компонент (движок) в результате постоянных модификаций и "лепки сбоку" дойдет до своего предела, который был заложен при его проектировании и появиться необходимость переписывания проекта, мотивирующаяся "ограниченниями" (а то и убогости) инструментария, на которым был писан этот компонент. 9. Если ранее того, как ступит в действие пункт 8 выйдет новая версия ПО, на котором был разработан компонент и упаси господь в нем будет неполная совместимость с предыдущей версии (для этого лучше всего взять ПО от MS), то придеться или пытаться подстроить компонент под новую версию ПО или же положить на нее. Вне зависимости от варианта выглядеть это будет печально и бесперспективно для всего ПО, которое было написанно с помощью своего компонента. Выводы: быстрее и надежнее выбрать ПО, которое максимально подходит для поставленной задачи и начать работать. Никаких своих движков не делать, никаких лишних компонент не писать. Наработки свои появятся по любому, по ходу написания проекта, когда действительно будет возникать необходимость улучшить или дополнить функционал, которого явно не хватает в стандартном комплекте выбранного ПО. Такие наработки будут оптимально взвешенными, оттестированными, с минимумом ошибок, легко расширяемыми и пригодными для использования в других проектах с аналогичными задачами. Кстати в XP-программирование это один из первых принципов, не делать лишней функциональности, пока в ней не возникнет реальная потребность. Рекомендую следовать их рекомендациям и больше внимания уделять правильной проектировке архитектуры БД и приложения, чем всяким универсальным примочкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2004, 18:57 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
traktor123. Вообще-то, конечно, это сделать можно. Но зачем? Delphi уже написан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2004, 19:27 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
ASCRUSРекомендую следовать их рекомендациям и больше внимания уделять правильной проектировке архитектуры БД и приложения, чем всяким универсальным примочкам. Все верно сказали. Как (я надеюсь) следует из моего предыдущего поста я сам придерживаюсь подобной точки зрения. Но для своего собственного развития программисту весьма полезно попробовать написать что-то подобное. Грубо говоря, на месте программиста я бы "пробивал" такие идеи, на месте руководителя, ответственного за результат в целом - я бы такие идеи душил. Резюмируя - что хорошо для программиста, зачастую плохо для проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2004, 19:29 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
Мысль вполне разумная. Единственное ненужно развивать ее до гигантизма. Подобное использую при обработке несложных структур данных на Java, в трех уровневой архитектуре. На стороне пользователя класс получает структуру данных от сервера содержащую не только сами данные, но и их описание (структуру) и строит пользовательский интерфейс, и обработку событий, исключений. Результат - избавление от описания простых форм обработки. Вся цепочка кода легко генерируется на основании DDL. Каму как, а мне нравится. Особенно бывает полездно, когда заказчику небольшого проекта нужно продемонстрировать эскиз проекта, работающий эскиз. На этапе торгов с клиентом возможность создания эскиза в короткое время, очень помогает при обсуждении финансовой стороны дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 08:05 |
|
||
|
оцените ход мыслей
|
|||
|---|---|---|---|
|
#18+
traktor123 Приятно вспоминать свои первые опыты в реальном программирование, когда мы с другом (за 1 год свободы, во времена ДОСа) создали именно, то что вы пожелали. Все работало и еще как!!. В основе лежало ажно два "движка". Первый - поддержка чисто досовского много-оконного интерфейса со всеми мощнейщими функциями обработки событий (например...таскания окон или сворачивания...со всеми типами окон и айтемов...). Второй движок - есть 95% процентов абсолютно универсального кода - как сейчас сказали бы - ран_тайм. Читаем файлы ресурсов описания экранных форм и работаем с ними. Были очень реализованы оченно мудрые идеи, например - идея сценариев - из меню, запускается интерпретатор сценария (макроса), где описано по шагам какие формы (модули) и как запускать, передача праметров...команды безусловного прехода и операторы проверки значений...все это обеспечивало модификацию Форм без ПЕРЕКОМПИЛЯЦИИ. Для спец_функций, мы могли из формы или из сценария просто запустить чисто спец_екзешник (типа DLL), что чисто был сделан под фичу. Разработка форм велась в специально-созданом инструменте - билдере. Например, все "рисовалось" мышой и задавались свойства фиелдов и баттонов. Конечно были еще - билдеры...генератор БД, генератор Меню, генератор индексов, генератор отчетов.... Както в один день я создал штук 10 экранных форм и за два дня все запустил. Только все это было ....как сказить - красиво, мудро, классно - но ПРИМИТИВНО. ПРИМИТИВ я вам конкретно скажу. Частный случай решения частных проблем (хоть и красиво, черт побери) - но все таки частных. Однако если в эту прогу влодить еще с 10-к человеко лет - тогда было бы НЕЧТО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=165&tid=1546322]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
95ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 385ms |

| 0 / 0 |
