Наилучшая практика для настройки версионного пользовательского интерфейса? - PullRequest
0 голосов
/ 28 декабря 2008

Как лучше реализовать следующий сценарий:

Существует стандартизированный пользовательский интерфейс для приложения в версии 1.0, например, форма заказа. Это приложение настраивается в соответствии с потребностями различных клиентов. Это может быть дополнительное поле «желаемое время доставки» для клиента A, отсутствие поля «номер телефона» для клиента B, дополнительный плагин карты, который показывает близлежащие хранилища для клиента C и их комбинацию для клиента D.

Теперь разработчик выпускает новую версию стандартизированной формы заказа, версия 2.0. Каков наилучший способ сделать так, чтобы при минимальных усилиях (если вообще было необходимо) обеспечить сохранение всех настроек, выполненных для клиентов?

Я мог бы представить следующие решения:

  • Конфигурация: все параметры настраиваются. На самом деле это не может быть решением, так как невозможно предвидеть все возможные потребности клиентов.
  • Наследование: настройки выполняются путем наследования стандартизированной версии. Тем не менее, как можно убедиться, что новый выпуск не приведет к «дрянной» внешности настроенной версии?

1 Ответ

1 голос
/ 28 декабря 2008

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

Существуют каркасы, которые существуют исключительно для этой цели: XUL является одним из хорошо известных примеров.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...