Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.16;
Скачать: CL | DM;

Вниз

Связать алгоритм с классами   Найти похожие ветки 

 
LDV   (2010-10-20 10:55) [0]

Сторонним приложением генерится 2 xml-файла (A.xml и B.xml). Для работы с ними в своем приложение написаны 2 класса (TAnalyserA и TAnalyserB). Задача: для определенных веток в обоих файлах проверять наличие обязательных атрибутов и отсутствие запрещенных. Как с точки зрения структуры правильно связать алгоритм с обеими классами, чтобы не дублировать код дважды. Я как новичок, пока что вижу один вариант:

Написать класс TAnalyser с единственным методом
 
 Analyse (xml_node: IXMLNode; Rules: TStrings), где:

 - xml_node - ветка, которую будем анализировать
 - Rules    - список атрибутов, для каждого из которых в Object будет хранится целочисленный параметр (C_NECESSARY или C_NOT_ALLOWED).

TAnalyserA и TAnalyserB сделать наследниками от TAnalyser. Может есть более грамотные варианты.


 
brother ©   (2010-10-20 11:08) [1]

> TAnalyserA и TAnalyserB

сейчас наследники чего?


 
Медвежонок Пятачок ©   (2010-10-20 11:10) [2]

класс нужен один (вообще-то и он совсем не нужен)
нужен третий xml со списком выражений xpath и флагом
по xpath"ам ищем узлы (nil or not nil) а флагом проверяем верно это или нет.


 
Медвежонок Пятачок ©   (2010-10-20 11:12) [3]

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


 
Фокус_Ник   (2010-10-20 13:18) [4]

> Как с точки зрения структуры правильно связать алгоритм с обеими
> классами, чтобы не дублировать код дважды.

Как угодно. Можно и совсем никак не связывать. Можно даже и вовсе без классов обойтись, потому что класс с единственным методом вполне можно заменить обычной процедурой. И если проверки разные, то непонятно, о каком дублировании кода идет речь.



Страницы: 1 вся ветка

Текущий архив: 2011.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
2-1287918930
Анна
2010-10-24 15:15
2011.01.16
многопоточная организация в Делфи


3-1251359321
Vitalts
2009-08-27 11:48
2011.01.16
Сохранение больших объемов данных в файл


15-1286137755
Юрий
2010-10-04 00:29
2011.01.16
С днем рождения ! 4 октября 2010 понедельник


15-1286185224
картман
2010-10-04 13:40
2011.01.16
впн через впн


2-1287509394
SIV5000
2010-10-19 21:29
2011.01.16
TThread + Image + Bug