В реальных разработках модель предметной области системы часто предназначена для проектирования масштабируемости и надежности системы. В то же время нельзя избежать базового управления данными, такого как добавление, удаление, изменение и запрос, определение и реализация интерфейса и т. д. Некоторые задачи на самом деле похожи и повторяются и имеют мало общего с бизнес-логикой.Эти задачи часто могут выполняться системой автоматически, а трудозатраты могут быть в основном сосредоточены на разработке и реализации модели предметной области.
Концепция дизайна DDD обычно делится на несколько уровней, а именно:
Уровень представления: в основном используется для взаимодействия с внешним миром, включая интерфейс пользовательского интерфейса, открытый интерфейс и т. д.
Прикладной уровень: ориентированный на использование, оркестровка сложных сервисов и т. д.
Уровень предметной области: основной уровень бизнес-логики
Уровень инфраструктуры: используется для внешнего взаимодействия, такого как база данных, сообщения, поиск и т. д.
Как показано на рисунке ниже, теоретически разработчики должны сосредоточиться на проектировании и разработке доменного слоя, им нужно только реализовать логику доменного слоя, а коды других слоев должны генерироваться автоматически.
Чтобы достичь этой небольшой цели, мы исследовали лучший фреймворк в отрасли, и наиболее широко используемым является MybatisGenerator. Поэтому на основе этого фреймворка реализована платформа с нулевым кодированием.
Базовая архитектура для достижения нулевого кодирования
После запуска модуль ядра генерируется автоматически, как показано на рисунке ниже.
Инструкции по использованию
1. Элементы конфигурации
1. Настройте application.properties, в основном настройте информацию о подключении к базе данных, а также информацию о пути к проекту и пакету.
Два, три режима работы
1. Запустите один раз, чтобы сгенерировать три основных модуля `client, dal, serviceImpl`, подробности см. в com.rhc.auto.App.
2. В соответствии с вашими потребностями сгенерируйте любой код в любом модуле `client, dal, serviceImpl` отдельно, обратитесь к `com.rhc.auto.App` за подробностями.
3. Вы также можете сгенерировать нужный код «репозитория» по запросу.
- Подробнее об использовании см.: `com.rhc.auto.codegen.repository.RepositoryGenerator`.
4. Взаимодействие с UI-интерфейсом
- При настройке полей взаимодействия между внешним и внутренним интерфейсом код веб-уровня генерируется автоматически, а соответствующий внутренний код автоматически генерируется в соответствии с полями взаимодействия с внешним интерфейсом,
Подробности смотрите в `com.rhc.auto.codegen.web.SevenGroovyGenerator`.
Чтобы узнать больше адресов загрузки исходного кода платформы и методов использования, используйте WeChat для сканирования следующего QR-кода для просмотра.