Использование XML для создания формы Windows - PullRequest
1 голос
/ 27 мая 2009

Я работаю над приложением Windows Desktop, которое будет хранить несколько документов, изначально будет 4 различных типа документов, каждый в форме окна, каждый с некоторыми общими деталями (идентификатор документа, идентификатор клиента и т. Д.), И затем различные поля в зависимости от типа документа.

Я планирую использовать XML для указания полей для каждой формы. Итак, мой вопрос: как проще всего взять XML-документ и отобразить поля формы на основе его содержимого? Должен ли я просто анализировать XML и создавать поля формы, или есть более быстрый и простой способ?

1 Ответ

1 голос
/ 28 мая 2009

Если вы используете XML в качестве метаданных, и ваши метаданные относительно статичны (например, FieldName = X, DataType = Y и т. Д.) И не должны расширяться во время выполнения, Вы можете рассмотреть XmlSerialization и иметь дело с результирующими объектами в коде.

Сделав оба подхода, я могу честно сказать, что работа с объектно-безопасными объектами намного чище, чем переплетение бизнес-логики и логики синтаксического анализа. Это, как говорится, не будет работать (или вам придется перепрыгивать через некоторые обручи), если вам нужна расширяемость во время выполнения.

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

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

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