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

OSCHINA-MIRROR/ifnb-COLA

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

🥤 COLA v4

Быстрая CI Умножение версий Java CI Лицензия Поддержка Java Maven Central GitHub Releases GitHub Stars GitHub Forks user repos GitHub issues GitHub Contributors gitpod: Готов к работе

COLA — это аббревиатура от Clean Object-Oriented and Layered Architecture, что означает "чистая объектно-ориентированная и слоеная архитектура". В настоящее время COLA достигла версии COLA v4.> - Чтобы узнать больше о COLA, пожалуйста, следите за нашим WeChat-аккаунтом:

qrcode

  • Чтобы узнать больше о истории COLA, пожалуйста, поддержите мое новое издание «Программистское дно». COLA分为两个部分, COLA架构和COLA组件. → COLA состоит из двух частей: архитектура COLA и компоненты COLA.# 1. Архитектура COLA

Обзор COLA

Архитектура означает структуру элементов:

  • Элементы являются важными компонентами архитектуры;
  • Структура представляет собой отношения между элементами.

Архитектура приложения означает:

  • Определение хорошей структуры;
  • Управление сложностью приложений, снижение энтропии системы;
  • Перемещение от хаотического состояния к упорядоченному.

arch why

Архитектура COLA создана для этих целей, её основная задача — определение хорошей структуры приложения и предоставление лучших практик для оптимальной архитектуры. С помощью постоянных исследований мы обнаружили, что хорошая структура уровней и определение пакетов помогают нам управлять хаотическими бизнес-приложениями.

cure

После нескольких итераций мы определили стабильную и надежную архитектуру приложения: COLA v4

cola arch

Архетипы COLA

Хорошая архитектура приложения следует за некоторыми общими моделями, будь то шестигранная архитектура, луковица, чистая архитектура или COLA архитектура, все они пропагандируют центральную роль бизнеса, декомпозицию внешних зависимостей и разделение сложности бизнеса и технической сложности.

Основное отличие архитектуры COLA от этих архитектур заключается в том, что мы предоставляем не только идеи, но и практические инструменты и руководства по внедрению.

Чтобы быстро создавать приложения, соответствующие архитектуре COLA, мы предоставляем два архетипа, расположенных в директории [cola-archetypes]:

  1. cola-archetype-service: архетип для создания чистого серверного сервиса.
  2. cola-archetype-web: архетип для создания адаптера и серверного сервиса вместе в виде веб-приложения.

2. Компоненты COLA

Кроме того, мы предоставляем несколько полезных общих компонентов, которые помогают нам повысить эффективность разработки.Эти функциональные компоненты собраны в директории [cola-components]. На данный момент мы имеем следующие компоненты:

Компонент Функция Зависимости
cola-component-dto Определяет формат DTO, включая пагинацию Нет
cola-component-exception Определяет формат исключений, включая BizException и SysException Нет
cola-component-statemachine Компонент состояний Нет
cola-component-domain-starter Компонент доменного уровня, управляемый Spring Нет
cola-component-catchlog-starter Компонент обработки исключений и логирования Компоненты exception и dto
cola-component-extension-starter Компонент расширений Нет
cola-component-test-container Компонент тестового контейнера Нет

Как использовать COLA## 1. Создание приложения

Выполните следующую команду:

mvn archetype:generate \
    -DgroupId=com.alibaba.cola.demo.web \
    -DartifactId=demo-web \
    -Dversion=1.0.0-SNAPSHOT \
    -Dpackage=com.alibaba.demo \
    -DarchetypeArtifactId=cola-framework-archetype-web \
    -DarchetypeGroupId=com.alibaba.cola \
    -DarchetypeVersion=4.3.1

Если команда выполнена успешно, вы увидите следующую структуру приложения:

Структура приложения

2. Запуск приложения

  • В директории проект выполните mvn install (если вы не хотите запускать тесты, добавьте параметр -DskipTests).
  • Перейдите в директорию start и выполните mvn spring-boot:run. Если запуск выполнен успешно, вы увидите интерфейс, показывающий успешное запуск SpringBoot.
  • В созданном приложении уже реализован простой REST запрос, который можно протестировать, введя в браузере адрес http://localhost:8080/helloworld.

Если вы хотите создать не web проект, а service проект, выполните следующую команду:

mvn archetype:generate \
    -DgroupId=com.alibaba.cola.demo.service \
    -DartifactId=demo-service \
    -Dversion=1.0.0-SNAPSHOT \
    -Dpackage=com.alibaba.demo \
    -DarchetypeArtifactId=cola-framework-archetype-service \
    -DarchetypeGroupId=com.alibaba.cola \
    -DarchetypeVersion=4.3.1

Версии

Версия 4.0.0

https://blog.csdn.net/significantfrank/article/details/110934799

Версия 3.1.0

https://blog.csdn.net/significantfrank/article/details/1095293111. Дальнейшее упрощение cola-core, оставление только расширяемых возможностей. 2. Перемещение exception из cola-core в cola-common. 3. Переработка логики разбиения пакетов в archetype на основе домена. 4. Переименование controller в adapter в cola-archetype-web для соответствия названиям шестиугольной архитектуры.## Версия 3.0.0

https://blog.csdn.net/significantfrank/article/details/106976804

Версия 2.0.0

https://blog.csdn.net/significantfrank/article/details/100074716

Версия 1.0.0

https://blog.csdn.net/significantfrank/article/details/85785565

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

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

Введение

Скриптовый фреймворк DDD, соответствующий разработке в соответствии с парадигмой развития_domain-driven_design. Развернуть Свернуть
LGPL-2.1
Отмена

Обновления

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

Участники

все

Язык

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

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