Правильно ли мое архитектурное решение оболочки экспертных систем на C#?

Моя задача разработать приложение оболочки экспертных систем на языке C#.

Я попробовал представить архитектуру проекта в виде диаграммы пакетов в нотации UML: Пакеты

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

После разработки решил представить в виде схемы выше и описать архитектуру и понял, что вроде как сделал что-то не так. Я думал изначально, что слой DOMAIN содержит описание классов предметной области и всё.

DAL - слой доступа к данным.

GURU-TRANSLATOR - библиотека классов, в которой находится логика преобразования входного текста в объекты из GURU.DOMAIN (по сути, предоставляет интерфейс лишь с одним методом на вход которому подается текст, на выход один объект определенного класса).

Слой SERVICES - логика приложения.

То есть, там методы сервисов, например, сервис трансляции, который использует TRANSLATOR для преобразования текста, и DAL для сохранения полученного объекта в БД.

Но потом я прочитал, что логика, по сути, должна храниться в слое DOMAIN, и никакого слоя SERVICES, по сути, нет ни в каком архитектурном решении.

Теперь я хотел бы исправить архитектуру, но не знаю в какую сторону копать и что сделать. Хотел бы попросить более опытных людей здесь помочь и описать, как бы вы представили архитектуру.


Ответы (0 шт):