1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xtoon-xtoon-boot

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

xtoon-boot

Основываясь на доменно-ориентированном дизайне (DDD) и поддерживая SaaS-платформу, xtoon-boot представляет собой фреймворк для разработки монолитных приложений.

xtoon-boot — это фреймворк, который помогает разрабатывать монолитные приложения, опираясь на принципы DDD. Он поддерживает SaaS-платформы.

Язык программирования: Java
Версия: 1.2.0
Сборка: проходит успешно

Ссылки:

Микросервисная версия: https://gitee.com/xtoon/xtoon-cloud

Пожалуйста, поставьте ⭐Star в правом верхнем углу. Спасибо за вашу поддержку!

Почему открытый исходный код?

На начальном этапе или на стадии MVP мы можем сразу перейти к микросервисам, где сервисы разделены очень подробно. Это может увеличить затраты на разработку и риски.

Я считаю, что лучше выбрать подходящий фреймворк и сначала разработать монолитное приложение на основе DDD, а затем перейти к версии микросервисов с учётом различных требований к эластичности домена. Именно поэтому мы открыли исходный код фреймворка xtoon, основанного на DDD. В настоящее время как монолитная версия приложения, так и версия микросервиса были выпущены официально. Если вы хотите более глубоко изучить и пообщаться, пожалуйста, присоединяйтесь к нашей группе в WeChat!

Зачем выбирать xtoon-boot?

— Решить проблему написания процедурного кода и транзакционного кода, которые могут привести к хаосу в логике обслуживания и высоким затратам на обслуживание на более позднем этапе. — Легко поддерживать границы, основные бизнес-логики сосредоточены в домене, низкая связанность, высокая степень сцепления, легко поддерживать в долгосрочной перспективе. — В интернете в основном говорят о теории DDD, но редко можно найти практические примеры того, как её реализовать. xtoon-boot предоставляет полное решение для реализации и корпоративную структуру. — Можно быстро разрабатывать, фреймворк предоставляет системное управление и организационную структуру и другие ключевые модули. — Поддерживает мультитенантные SaaS-платформы;

Публичный аккаунт DDD

Изучение концепции DDD и опыта внедрения. Добро пожаловать, чтобы подписаться.

Технический обмен

Добро пожаловать, чтобы присоединиться к группе WeChat или отсканировать QR-код, чтобы добавить меня в друзья и пригласить вас в большую группу. Давайте обсудим решения DDD вместе с практиками DDD.

Если вы исправили некоторые ошибки или добавили новые функции, добро пожаловать внести свой вклад, мы будем очень благодарны.

Выбор технологии

— Springboot — Apache Shiro — Mybatis-plus — Swagger — Hibernate-validator — Alibaba Druid — Element-ui

Основные модули

  1. Регистрация и вход: регистрация по номеру телефона и учётной записи, проверка подлинности, регистрация арендатора.
  2. Управление пользователями: добавление пользователей, назначение ролей, отключение и т. д.
  3. Управление ролями: добавление ролей, просмотр, управление меню и т.д.
  4. Управление меню: управление деревом меню, настройка разрешений меню и кнопок и т. д.
  5. Управление арендаторами: список арендаторов, отключение и т. д.
  6. Управление журналом: запись операций журнала, поиск и т. д.

Структура проекта

xtoon-boot
├─db                            База данных SQL-скриптов

├─xtoon-common                  Общий модуль
│    │ 
│    └─java 
│         ├─domain              Общие классы домена
│         └─util                Класс инструментов

├─xtoon-api                     Интерфейс модуля
│    │ 
│    ├─web        
│    │    ├─common              Общий класс интерфейса
│    │    ├─util                Интерфейс класса инструмента
│    │    └─controller          Класс контроллера
│    └─resources 
│        ├─static.swagger      Файл swagger
│        ├─application.yml      Глобальный файл конфигурации
│        └─logback-spring.xml   Файл конфигурации журнала

├─xtoon-sys                     Управление системой субдомена
│    │ 
│    └─java 
│         ├─application         Уровень приложения
│         │    ├─assembler      DTO-преобразователь класса
│         │    ├─command        Входные параметры команды
│         │    ├─dto            DTO
│         │    └─impl           Реализация интерфейса приложения
│         ├─domain              Доменный уровень (ядро)
│         │    ├─model          Модель домена
│         │    ├─service        Служба домена
│         │    ├─specification  Проверка спецификации
│         │    └─external       Интерфейс внешнего интерфейса (слой защиты от коррозии)
│         └─infrastructure      Уровень инфраструктуры
│              ├─persistence    Класс персистентности
│              └─external       Внешний класс обслуживания

├─xtoon-org                     Управление организацией субдомен

Основная концепция

Шестиугольная теория

Alistair Cockburn предложил шестиугольную архитектуру, также известную как архитектура портов и адаптеров. Как видно из рисунка выше, для основного приложения и модели домена другие базовые зависимости или реализации могут быть абстрагированы как входные и выходные данные двух типов. Организационные отношения становятся двумерными внутренними и внешними отношениями, а не иерархическими структурами. Каждый ввод-вывод имеет адаптер перед приложением, и каждый внешний край является портом. Система, разработанная на основе шестиугольной архитектуры, является конечной формой, к которой стремится DDD.

Данные и домен

По сравнению с предыдущим процессом проектирования системы, ориентированной на данные, и системы, управляемой доменом, есть большие различия:

  1. Речь идёт о ролях участия в системе, таких как продукт, разработка, тестирование и т. д., и необходимо сформировать общий язык.
  2. Проблема проектирования базы данных больше не является основной проблемой, которую необходимо решить, она больше сосредоточена на самой бизнес-модели, разработке бизнес-моделей и моделей предметной области, агрегации предметной области и сущностей, и агрегация предметной области и сущности являются основным содержанием всей системы.
  3. Истинное объектно-ориентированное программирование, переход от процедурных транзакционных сценариев к истинному объектно-ориентированному.

Многоуровневая архитектура

  • Уровень пользовательского интерфейса (или уровень представления) отвечает за отображение информации пользователю и интерпретацию команд пользователя. Здесь пользователь может быть другой компьютерной системой, не обязательно человеком, использующим пользовательский интерфейс.
  • Уровень приложения определяет задачи, которые должно выполнять программное обеспечение, и управляет объектами, представляющими понятия предметной области для решения проблем. Эта работа важна для бизнеса и является необходимым каналом взаимодействия с другими системами уровня приложения. Прикладной уровень должен быть максимально простым, не содержать бизнес-правил или знаний и только координировать задачи для объектов предметной области на следующем уровне, распределять работу, чтобы они взаимодействовали друг с другом. Он не отражает состояние бизнес-ситуаций, но может иметь другое состояние, чтобы показать пользователю или программе прогресс выполнения определённой задачи.

Уровень предметной области (или уровень модели) отвечает за выражение бизнес-концепций, информации о состоянии бизнеса и бизнес-правил. Хотя технические детали сохранения состояния бизнеса реализуются уровнем инфраструктуры, состояние, отражающее бизнес-ситуации, контролируется и используется этим уровнем. Уровень предметной области — ядро бизнес-приложения.

Уровень инфраструктуры предоставляет общие технические возможности для других уровней: передаёт сообщения прикладному уровню, обеспечивает механизмы сохранения данных для уровня предметной области, создаёт экранные компоненты для пользовательского интерфейса и так далее. Уровень инфраструктуры также может поддерживать взаимодействие между четырьмя уровнями через архитектурный фреймворк.

Сопровождающие

  • Xtoon Technology.

Заявление об авторских правах

Данное программное обеспечение распространяется и используется на условиях лицензии Apache-2.0. Подробнее см. в лицензионном соглашении.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Java и 3 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xtoon-xtoon-boot.git
git@api.gitlife.ru:oschina-mirror/xtoon-xtoon-boot.git
oschina-mirror
xtoon-xtoon-boot
xtoon-xtoon-boot
develop