2009-03-18 5 views
1

Я в тупике, у меня есть задача, где я должен взять некоторую разметку (формат json, а не то, что это действительно имеет значение) и проанализировать ее в объектной модели. У нас уже есть модель домена, это просто вопрос разметки и создания соответствующих объектов.Дизайн шаблона для разбора дерева разметки в объектной модели

Это не подходит для композитного рисунка, поскольку создаваемые объекты не похожи. Кроме того, разметка не настолько велика и имеет три уровня, поэтому меня больше интересует организационная структура, чем необработанная скорость. Я бы очень хотел, чтобы достичь следующего:

  • Избегайте метод монстра с большим количеством вложенных циклов
  • Легко добавить новые теги/объекты в будущем
  • Clean легко читаемый код для следующего человека, который должен изменить его

Любые предложения по возможным шаблонам, которые подходят для этого? Не стесняйтесь приводить примеры на любом языке, если это так.

С уважением,

Chris

редактировать: Вот пример разметки - link text

+0

Можете ли вы дать простой пример разметки? – Glenn

ответ

2

Ну, если вы смотрите на стандартной разметки, такие как JSON или XML, то вы можете использовать готовые которые доступны на большинстве языков программирования, таких как .NET C#, Java, Ruby, C++ и т. д.

Шаблоны, используемые такими анализаторами, представляют собой комбинацию AbstractFactory, Composite, Singleton и Builder pa ttern.

В качестве примера вы можете обратиться к реализации SAXParser и SAXParser Factory.

Class Diagram of Builder Pattern on WikiPedia

0

Взгляните на следующую ссылку - она ​​охватывает некоторые шаблоны проектирования - не все применимы к вам, но я предполагаю, что команды, Сбор параметров и вставные Selector можно положить в использовании.

http://junit.sourceforge.net/doc/cookstour/cookstour.htm

Смежные вопросы