#c# #c#-4.0
#c# #c #-4.0
Вопрос:
Я ищу не какой-то конкретный код, а идею или преимущество. Я пытаюсь разработать приложение с пользовательским интерфейсом, в которое можно загружать файлы журналов.
Эти файлы журналов имеют разные форматы и типы. Извлекаемые данные также могут отличаться в разных файлах. Я хочу иметь одно универсальное приложение для извлечения из них данных. Подумываю об использовании какого-нибудь искусственного интеллекта. Нейронные сети, Калман и др.
Образец 1
A, B, C, D, E
1, 2, 3, 4, 5
6, 7, 8, 9,10
,11,12,13,14
в приведенном выше примере я хочу извлечь только столбцы D и A. И столбец D следует извлекать только тогда, когда существует значение столбца A.
В основном файлы журналов генерируются машиной, поэтому нет никакого контроля над их форматированием.
Я подумал о создании приложения, в которое можно загрузить файл журнала. Выделяются необходимые области, а затем на их основе обрабатываются другие аналогичные типы файлов журналов.
Есть предложения?
Ответ №1:
Когда дело доходит до выполнения «общих» задач, лучше всего использовать интерфейсы. Вы также захотите использовать принцип проектирования, подобный DDD. Итак, вы хотите создать ILogFile
интерфейс. У вас будут разные разработчики ILogFile
интерфейса (класс разработчика для каждого типа журнала, формата или файла). У вас будет service
(приложение или доменная служба), которое может работать с ILogFile
интерфейсом, извлекать из него данные и применять к ним правила.
Хотя вы не можете контролировать формат, я предполагаю, что формат файла журнала предсказуем.
Комментарии:
1. Это все равно означало бы, что я реализую интерфейс для нового типа файлов. Поправьте меня, пожалуйста, если я неправильно понял. То, что я пытаюсь, — это сделать своими руками. Определенно, будет служба, которая будет анализировать данные в фоновом режиме.
2. похоже, основной функцией вашего приложения является синтаксический анализ файлов. Итак, вы хотите определить файл как «сущность» в домене вашего приложения. Файловый объект будет иметь такие свойства, как «Строки» и «символы». Вам также нужен объект «правила», который можно сохранить. Ваша доменная служба применит «правило» к файловому объекту. Это грубое упрощение с моей стороны. В зависимости от ваших потребностей вы также можете делать такие вещи, как использовать шаблон оболочки для правил. Я надеюсь, что я на самом деле отвечаю на ваш вопрос здесь или, по крайней мере, говорю вещи, которые вы еще не рассматривали.
3. Ваши комментарии полезны. Я думал о вещах в том же духе, но мне было интересно, насколько универсальным или интеллектуальным может стать синтаксический анализ файлов при таком подходе к сущностям.
4. Синтаксический анализ файлов будет настолько разумным, насколько вы учитываете детализацию правил. То есть это может стать очень разумным, если правила допускают очень детальный контроль