|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
авторА вот теперь интересно обсудить плюс/минус хранения "персональных" данных отдельных приложений в одной БД или в различных.Что такое персональные данные ? Где грань между персональным и общим (с учётом того, что логика системы постоянно дорабатывается, перегруппируется, дополняется) ???? Система должна иметь стратегию развития. Универсальной стратегии не существует. Предложенная Вами стратегия имеет массу недостатков,т.к. модульность не панацея. Хранение данных в разных БД может быть оправдано: 1. При больших объёмах. Прошлые периоды лежат отдельно и нужны редко 2. Высокие требования по безопасности 3. Наличие коробочных систем, вмешаться в работу которых проблематично 4. Наличие мощного OLAP-анализа (пересекается с п.1). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 10:21 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
LSV Что такое персональные данные ? Где грань между персональным и общим (с учётом того, что логика системы постоянно дорабатывается, перегруппируется, дополняется) ???? Система должна иметь стратегию развития. Универсальной стратегии не существует. Предложенная Вами стратегия имеет массу недостатков,т.к. модульность не панацея. Хранение данных в разных БД может быть оправдано: 1. При больших объёмах. Прошлые периоды лежат отдельно и нужны редко 2. Высокие требования по безопасности 3. Наличие коробочных систем, вмешаться в работу которых проблематично 4. Наличие мощного OLAP-анализа (пересекается с п.1). Персональные (для приложения) - итоговые данные, которые используются только в этом приложении (клиент - коммунальное предприятие, поэтому мои примеры из их области). Например. Канцелярия - регистрирует входящие/исходящие документы и отметку о выполнении. Архив - хранит информацию о владельцах собственности. Абонотдел - принимает заявки на регистрацию правоустанавливающих документов (сроки, деньги...). Вообщем каждое приложение содержит итоговые данные "не нужные" другому приложению. Хотя все приложения используют в том числе "общие" данные (АДРЕСА, КЛИЕНТЫ, USER-ы, ОТДЕЛЫ...). Система конечно не коробочная (заказная), но потенциально есть другие заказчики, которым необходима лишь частичная функциональность. И не исключено что другому заказчику в одном из модулей потребуется, что-то слегка изменить. Мне кажется в моем варианте (предполагаемом) это будет легче реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 11:00 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
softwarerНасколько я понимаю, Вы говорите о "базах данных" в mssql-ном смысле, аналоге ораклового "схема". Если так - принцип модульности в плане разнесения разных подсистем в разные схемы имеет право на существование, но в то же время имеет ряд практических неудобств, главное из которых - нет возможности легко менять названия схем (баз), в которых лежат модули. А это допустимо только для самописной системы, но не для [человеческой] тиражируемой. Сразу представляется, как гениальный разработчик распихивает свое приложение по схемам [common], [buh], [store], и как это начинает конфликтовать с приложением другого разработчика в той же БД.А по-мему, так проблема распихивания своих обновлений по уже существующим работающим систем, которые позволяют на местах делать различные доработки, существует не зависимо от того, на чем эта система основана. Даже если она узкоспециализированная программа, то обновления разработчика, каким бы гениальным он не был, могут столкнуться с конфликтами, вызыванными месными доработками. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:20 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Я говорю о базах MSSQL сервера до версии 2005. softwarerНасколько я понимаю, Вы говорите о "базах данных" в mssql-ном смысле, аналоге ораклового "схема". Базы в mssql-ном смысле (во всяком случае до версии 2005) это не аналоги оракловских схем. Если я правильно понимаю (поправьте), между таблицами находямися в разных оракловских схемах можно поставить внешний ключ. Между таблицами в разных базах MSSQL нельзя. Есть и другие ограничения. PVPТо же самое, что и с одной процедурой, если программирование всех новых задач делать в ней одной, где нибудь в средине, вместо того, что бы делать новые процедуры для новых задач. Вы считаете что разрастание кода процедуры и количества объектов базы суть одно и тоже ? PVPПринцип модульнусти Вы признаете только в автомобилестроении? Или еще и в разработке процедур? Может следует распространить его и базы данных? Что в вашем понимании принцип модульности и чем именно он нарушается, когда объекты, относящиеся к разным, но частично пересекающимся предметным областям находятся в одной БД ? Поясните пожалуйста также почему вы не усматриваете нарушения "принципа модульности" в том, что эти базы находятся в одном сервере БД. PS: прямо вот сейчас у меня в базе, в которой изначально "жил" один банковский опердень находятся объекты аж трех систем. Все они тоже изначально были никак не связаны, ага. В итоге несколько лет мучений по интеграции, написания каких-то сервисов, отслеживающих взаимосвязи, запускающих импорт-экспорт и устраняющих ошибки в разсогласованых данных. Потом долгий и мучительный рефакторинг по объединению всего в одно целое, проблемы с переходом на новые, "единые" данные, общую безопасность и т.п. Вот цена ошибки. А общего по большому счету у систем всего ничего - клиентская база. И чаще всего не пересекающася. И все системы используются совершенно разными людьми для совершенно разных целей. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:27 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
ВорчунА у меня предполагался такой компромис: База СПРАВОЧНИК (общие данные для всех приложений) и будет содержать в том числе табл.ПОЛЬЗОВАТЕЛЬ (они ведь едины в пределах организации) и решать правами на какие приложения пользователь обладает. А главным делом оболочки будут две задачи - работа с БД СПРАВОЧНИК и подключение всех остальных приложений в единую средУ (естественно учитывая права пользователя). А "персональные" данные каждое приложение хранит в своей БД. А вот теперь интересно обсудить плюс/минус хранения "персональных" данных отдельных приложений в одной БД или в различных.Это не компромис. Это уход выдвинутой идеи. Здесь нарушается принцип модульности. К этой общей базе Вам придется обращаться за доработками каждый раз, когда делаете новую задачу. Потому что в новой задаче будет или справочник, или еще что нибудь такое, чего не было в предыдущих. Попробуйте поработать в этом же направлении, только в не делая отдельную специальную базу. Для этого у Вас в каждой базе может быть блок, отвечающий за справочники. Он одинавый для всех задач. Процедуры для работы с ним, а также форма (формы) клиентского модуля также одинаковы. Зачем тогда справочники сбрасывать в одну общую базу? Оговорюсь, на всякий случай. Я далек от того, что принцип модульности можно выполнить на все сто процентов. Это как в одном анегдоте - все не выйдет, но стремиться к этому следует. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:28 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
LSV авторА вот теперь интересно обсудить плюс/минус хранения "персональных" данных отдельных приложений в одной БД или в различных.Что такое персональные данные ? Где грань между персональным и общим (с учётом того, что логика системы постоянно дорабатывается, перегруппируется, дополняется) ???? Система должна иметь стратегию развития. Универсальной стратегии не существует. Предложенная Вами стратегия имеет массу недостатков,т.к. модульность не панацея. Хранение данных в разных БД может быть оправдано: 1. При больших объёмах. Прошлые периоды лежат отдельно и нужны редко 2. Высокие требования по безопасности 3. Наличие коробочных систем, вмешаться в работу которых проблематично 4. Наличие мощного OLAP-анализа (пересекается с п.1). Поддерживаю ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:30 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Aviant PVPТо же самое, что и с одной процедурой, если программирование всех новых задач делать в ней одной, где нибудь в средине, вместо того, что бы делать новые процедуры для новых задач. Вы считаете что разрастание кода процедуры и количества объектов базы суть одно и тоже ? Да, это имеет один характер развития, нагромождения и последствий. Процедура может расти сколь угодно в длину при элементарной логие - последовательное выполнение независимых блоков. Но при сложной логике процедуры - ее рост приведет к ее неуправляемости. То же самое с базой данных. При простом накоплении элементарных объектов, не связанных или мало связанных между совой - ради бога. Но при сложных взаимосвязях - после некоторого предела с этой базой не собладает даже ее разработчик, не говоря уже о сторонних программистах, пытающихся в нее добавить еще что нибудь. "Универсальная база" - она первоначально сложнее, чем простые специализированные, но ее сложность практически не растет при расширении функционала системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:37 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Aviant PVPПринцип модульнусти Вы признаете только в автомобилестроении? Или еще и в разработке процедур? Может следует распространить его и базы данных? Что в вашем понимании принцип модульности и чем именно он нарушается, когда объекты, относящиеся к разным, но частично пересекающимся предметным областям находятся в одной БД ? Поясните пожалуйста также почему вы не усматриваете нарушения "принципа модульности" в том, что эти базы находятся в одном сервере БД. Я не усматриваю в этом нарушений принципа модульности. Если это типовая таблица с типовым набором процедур, связей, триггеров, и весь этот набор в комплекте добавляется в базу данных при появлении какой либо новой задачи в том же состове (или почти в том же), то это и есть модуль. Так же наращивать количество однотипных баз данных или количество однотипных таких модулей в одной базе данных (в терминологии SQL 2000) - это один и тот же подход. Я не возвражаю ни против какого. Просто у меня практическая реализация - это наращивание баз данных. Наверное, поэтому я все время на это и сбиваюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:43 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
PVPЭто не компромис. Это уход выдвинутой идеи. Здесь нарушается принцип модульности. К этой общей базе Вам придется обращаться за доработками каждый раз, когда делаете новую задачу. Потому что в новой задаче будет или справочник, или еще что нибудь такое, чего не было в предыдущих. Попробуйте поработать в этом же направлении, только в не делая отдельную специальную базу. Для этого у Вас в каждой базе может быть блок, отвечающий за справочники. Он одинавый для всех задач. Процедуры для работы с ним, а также форма (формы) клиентского модуля также одинаковы. Зачем тогда справочники сбрасывать в одну общую базу? Действительно, лучше для каждой задачи поддерживать свой набор справочников. Актуальных. Главное не забывать вовремя вносить изменения. PVPОговорюсь, на всякий случай. Я далек от того, что принцип модульности можно выполнить на все сто процентов. Это как в одном анегдоте - все не выйдет, но стремиться к этому следует. Продолжая вашу аналогию с автомобилестроением - почему в автомобиле только один аккумулятор ? Не лучше ли сделать у каждого агрегата свой. Ну чтобы "модульность" не нарушалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 12:50 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Aviant PVPОговорюсь, на всякий случай. Я далек от того, что принцип модульности можно выполнить на все сто процентов. Это как в одном анегдоте - все не выйдет, но стремиться к этому следует. Продолжая вашу аналогию с автомобилестроением - почему в автомобиле только один аккумулятор ? Не лучше ли сделать у каждого агрегата свой. Ну чтобы "модульность" не нарушалась.А разве во всех автомобилях только один аккумулятор? Не ужели нет таких, где для разных узлов есть отдельные? Например в электромобилях. Я бы поставил отдельный для сигнализации, например, в запорожце. Общий отключил, потому что там замок зажигания не надежен, а дополнительный передает мне сигнал, когда кто то пытается угнать машину. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 13:02 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
PVPА разве во всех автомобилях только один аккумулятор? Не ужели нет таких, где для разных узлов есть отдельные? Например в электромобилях. Я бы поставил отдельный для сигнализации, например, в запорожце. Общий отключил, потому что там замок зажигания не надежен, а дополнительный передает мне сигнал, когда кто то пытается угнать машину. Вот именно, _иногда_ есть и несколько аккумуляторов, но как я понял из ваших слов PVPЯ далек от того, что принцип модульности можно выполнить на все сто процентов. Это как в одном анегдоте - все не выйдет, но стремиться к этому следует. надо стремиться к тому, чтобы у каждого узла, в котором используется электричество был свой. Есть еще куда развиваться конструкторской мысли :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 13:14 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
PVP Это не компромис. Это уход выдвинутой идеи. Здесь нарушается принцип модульности. К этой общей базе Вам придется обращаться за доработками каждый раз, когда делаете новую задачу. Потому что в новой задаче будет или справочник, или еще что нибудь такое, чего не было в предыдущих. Попробуйте поработать в этом же направлении, только в не делая отдельную специальную базу. Для этого у Вас в каждой базе может быть блок, отвечающий за справочники. Он одинавый для всех задач. Процедуры для работы с ним, а также форма (формы) клиентского модуля также одинаковы. Зачем тогда справочники сбрасывать в одну общую базу? А этот блок отвечающий за справочники обслуживает свои справочники, или все же обращается за данными в общий справочник? Если только свои - то так у нас построено сейчас и разногласия в справ. АДРЕСА очень удручают. Одна улица в разл. справ. к примеру называется 10-Линия, 10-ая Линия, 10-я Линия. Хлопотно это все вылавливать. Вот и хочется этого избежать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2006, 14:26 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
2 softwarer авторПростой пример: возьмите общее решение и десять похожих проектов, для которых оно окупилось. Теперь представьте себе, что это десять этапов одного проекта Мне сложно представить десять этапов одного проекта, настолько однотипных, что в них можно применить одно решение. Но, если такой проект есть, то в рамках нашей дискуссии правильнее рассматривать его именно как десять проектов. И тогда при хорошем общем решении, после первого, скажем, этапа оно должно окупится и моя логика не нарушается :) В остальном же с Вами согласен. Я всегда считал, что если до конца требования неясны (по обьективным причинам), надо идти к сложному от простого. А не замахиваться на мега-систему, осознав после что впустую убухали кучу времени. Хотя - удача все же существет. Иначе придется признать, что талантливые люди никогда не терпели неудач. 2 PVP авторПри простом накоплении элементарных объектов, не связанных или мало связанных между совой - ради бога. Но при сложных взаимосвязях - после некоторого предела с этой базой не собладает даже ее разработчик, А при сложных взаимосвязях в десятках баз, он (разработчик) конечно же, легко справится? Опасное заблуждение. Сложные взаимосвязи - это либо следствие неудачного проектирования (см пост Aviant), либо - они сложные в реальности, таковы требования бизнеса и се ля ви. И в последнем случае от разделения на базы проще они не станут. 2 Ворчун автор...разногласия в справ. АДРЕСА очень удручают... Если речь идет не о картографической системе (а как я понимаю, у вас обычная учетная), то адреса не есть самостаятельная сущность. ЭТо только атрибут чего-то. И соответсвенно, плясать надо от того, как он появляется в системе, и допустимо ли вообще занесение его в единый справочник. Nobody faults but mine... (LZ) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2006, 12:49 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
PVPА по-мему, так проблема распихивания своих обновлений по уже существующим работающим систем, которые позволяют на местах делать различные доработки А кто говорит о такой проблеме? Откуда Вы ее взяли? Я о такой не говорил и в виду не имел. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2006, 14:18 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
AviantБазы в mssql-ном смысле (во всяком случае до версии 2005) это не аналоги оракловских схем. Разумеется, не точные аналоги. Но это самая близкая аналогия, которую можно найти; если точнее, насколько я понимаю, база в mssql-ном смысле имеет некоторые черты ораклового понятия schema, некоторые черты ораклового понятия tablespace и некоторые собственные. Ключевым здесь является то, что насколько я понимаю, можно написать код модульной системы, где каждый модуль сидит в собственной mssql-ной базе, это будет работать в общей среде (например, под одной оболочкой) и не будет "явно идиотским" решением. При оракловом же смысле слова "база" это будет явным идиотизмом - в связи с чем я собственно и хотел прояснить смысл сказанного. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2006, 14:31 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
aagЕсли речь идет не о картографической системе (а как я понимаю, у вас обычная учетная), то адреса не есть самостаятельная сущность. ЭТо только атрибут чего-то. И соответсвенно, плясать надо от того, как он появляется в системе, и допустимо ли вообще занесение его в единый справочник. Я думаю, что для Бюро Технической Инвентаризации АДРЕС являеется самостоятельной сущностью. И правильное его написание - одна из немаловажных задач (вся же работа с БД начинается с поиска адреса). Поэтому и хочется, что б это был единый справочник. С момента постановки вопроса прошерстил немного форум по вопросу написания больших систем и в т.ч. с использованием dll. Понял, что за 3 прошедших года (интересная дискуссия [162316] от 2 апреля 2003 ) ЗДЕСЬ каждый (ну или почти) так и остался при своем мнении. Кстати интересно LSV, в итоге какой путь избрали Вы? В принципе я не против одной БД. На сегодня меня подталкивают избрать самую большую БД (в плане наличия наибольшего совпадения однотипных таблиц) как опорную и к ней потихоньку "наращивать" остальные приложения, т.е. все новые разработки. Для ясности ситуации - я не разработчик, но мне приходится решать правильный ли путь предлагает программист. Даже поручив разработку специализированной фирме ситуация останется та же. Правильно ли ОНИ сделали я увижу только после начала эксплуатации и написания новых приложений. Поэтому и интересует мнение тех, кто уже прошел этот путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2006, 10:28 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Aviant Ворчункакие подводные камни ждут впереди, и может подобный вопрос подымался на форуме? Подводные камни примерно такие: долго-долго разрабатывать Единый Универсальный Интерфес Реализующий Любую Функциональность. А потом окажется что реальная задача не "натягивается" на ваш engine Задач таких -- море. Практически любая лабуда учетная. Я этим долго занимался и у нас не один проек был сделан на этом деле. Но тут нельзя увлекаться, надо четко разграничить, что можно и нужно делать через универсальный интерфейс, а что нельзя. Например, нельзя писать самоконфигурируемые формы которые могут по данным себя конфигурировать и все на свете редактировать. Легче, проще и надежнее , и эффективнее в смысле эргономики GUI, написать это в лоб, явным образом, как обычную форму. Мы пытались делать т.н. универсальные формы несколько раз, кажется три, -- итог - практически полный ноль во всех случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 10:40 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
MasterZivНо тут нельзя увлекаться, надо четко разграничить, что можно и нужно делать через универсальный интерфейс, а что нельзя. Например, нельзя писать самоконфигурируемые формы которые могут по данным себя конфигурировать и все на свете редактировать. Легче, проще и надежнее , и эффективнее в смысле эргономики GUI, написать это в лоб, явным образом, как обычную форму. Мы пытались делать т.н. универсальные формы несколько раз, кажется три, -- итог - практически полный ноль во всех случаях. Да, я об этом и говорил. Проблема в том, что программисты ни разу в жизни не писавшие такие вещи не могут сходу поверить в бессмысленность затеи. И идеи универсальных форм на основе каких-то мета данных появляются раз за разом. С другой стороны, почти в каждой учетной задаче можно выделить кусочек, где некая универсальность возможна. Я обычно поступаю так: в новом проекте обязательно найдется молодой горячий парень со "свежей" идеей универсализации всего и вся. Вот ему и даю сделать этот кусочек. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 12:54 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Aviant Да, я об этом и говорил. Проблема в том, что программисты ни разу в жизни не писавшие такие вещи не могут сходу поверить в бессмысленность затеи. И идеи универсальных форм на основе каких-то мета данных появляются раз за разом. Это действительно сложно в проектировании и реализации. Но нет ничего невозможного. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 13:57 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
iscrafmЭто действительно сложно в проектировании и реализации. Но нет ничего невозможного. Невозможного - ничего. Вопрос упирается в целесообразность. Если довести эту идею до конца, получится просто новая Delphi, ничем не лучше старой кроме того, что от начала и до конца написана собственными руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:29 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
MasterZivМы пытались делать т.н. универсальные формы несколько раз, кажется три, -- итог - практически полный ноль во всех случаях.Вывод - если у нас не получилось, то это невозможно и не нужно. А если где то сделали и используется, то мы этого не замечаем и не хотим замечать, потому что этого не может быть. AviantДа, я об этом и говорил. Проблема в том, что программисты ни разу в жизни не писавшие такие вещи не могут сходу поверить в бессмысленность затеи. И идеи универсальных форм на основе каких-то мета данных появляются раз за разом.А как на счет тех программистов, которые это реализовали и используют? При этом очень эффективно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:30 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
softwarerНевозможного - ничего. Вопрос упирается в целесообразность. Если довести эту идею до конца, получится просто новая Delphi, ничем не лучше старой кроме того, что от начала и до конца написана собственными руками. Сделать новую Delphi конечно же целью не является :). Другие критерии целесообразности. Упростить разработку сложных взаимосвязанных приложений и упростить сопровождение, снизить затраты на управление ЖЦ приложений. Вот такие цели конечно достигаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:40 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Мы пытались делать т.н. универсальные формы несколько раз, кажется три, -- итог - практически полный ноль во всех случаях.Значит плохо пытались... Глупо переводить в универсальность все формы проекта. Но 80% форм можно перевести на универсальность. Справочники, списки (в т.ч. шапка/строки) - идеальные кандидаты для универсальных форм. В примере моя универсальная форма (уже показывал). В её основе 1 или 2 SQL-запроса + метаданные. Вместо запроса может быть ХП с параметрами. Форма может быть простым списком, деревом, шапка/строками, панель/список. Есть поиск. Можно добавлять сложные фильтры. Из любой колонки можно вызвать другую форму/отчёт/процедуру и т.п. Каждая колонка может быть настроена согласно безопасности, а также раскрашена по условию. ЗЫ: Всё на Delphi. Всего 2-3тыс. строк кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:50 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
Пример формы панель/список. Не пинайте за кривизну. Просто перед снимком дал признак форме "как панелька". Можно использовать для документов шапка/строки. Каждый контрол может иметь свой цвет, координаты и порядок обхода. По умолчанию - сверху вниз (как на рисунке). Допустимы рисунки, кнопки, радиогруппы и Мемо. Всё может быть как лукап или ДриллДаун. А вы говорите, что универсальность - миф. НЕ МИФ ! 70% системы укладывается в эту ЕДИНСТВЕННУЮ ФОРМУ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:58 |
|
Разработка универсального интерфейса
|
|||
---|---|---|---|
#18+
iscrafm Упростить разработку сложных взаимосвязанных приложений и упростить сопровождение, снизить затраты на управление ЖЦ приложений. Вот такие цели конечно достигаются. Достигаются. И ключевой момент, с которым, полагаю, Вы согласитесь - достигаются при правильно выбранном уровне универсализации. "Излишняя универсальность" мешает им ничуть не меньше, нежели недостаточная. Что есть правильный уровень - думаю, не удастся описать конструктивно (иначе, чем "тот, при котором достигаются названные цели"). Надо смотреть по месту и много думать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2006, 14:58 |
|
|
start [/forum/topic.php?fid=33&msg=33661365&tid=1549393]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 359ms |
0 / 0 |