DDDLib
DDDLib — это библиотека для разработки на основе предметно-ориентированного проектирования (Domain Driven Design, DDD). Она предназначена для:
Структура модулей
У DDDLib есть несколько модулей, более десяти. Мы группируем их в четыре категории: основной модуль, модуль IoC, модуль персистентности и периферийный модуль. При написании кода разработчикам нужны непосредственно зависимые модули кода, а при развёртывании они выбирают модуль IoC и модуль персистентности. Периферийный модуль может быть удобен для вас, хотя он не является обязательным.
Почему DDDLib может облегчить наше «понимание» проектов? Потому что большинству разработчиков проекта нужно знать только основной модуль и даже всего несколько интерфейсов и классов.
Основной модуль:
Модуль IoC: предоставляет возможность IoC. Модуль dddlib-ioc — это просто интерфейс IoC. Вы можете выбрать один из них по своему вкусу:
Модуль персистентности: предоставляет возможность персистентности. Есть две реализации для dddlib-persistence:
Следующий модуль связан с персистентностью, но находится поверх других модулей персистентности:
Модуль утилит:
dddlib-utils: предоставляет некоторые общие утилиты для обработки JavaBean, массива, коллекции, даты, журнала и так далее. Наиболее важным из них является класс Assert;
dddlib-configuration: предоставляет унифицированный API и его реализацию для настройки пар ключ-значение. В настоящее время источник конфигурации может быть из системного файла, файла пути к классам, базы данных, удалённого URL. Этот источник конфигурации можно читать/записывать с помощью API dddlib-configuration, за исключением того, что удалённый URL можно только читать;
dddlib-cache: предоставляет возможность кэширования, реализованную memcached. В будущем он будет разделён на два модуля: API и некоторые виды модулей реализации, которые могут быть redis, encache и так далее;
dddlib-datasource-monitor: мониторинг состояния источника данных во время выполнения;
dddlib-datasource-router: предоставляет маршрутизатор для источников данных, который в основном предназначен для SaaS-маршрутизации разных арендаторов на разные серверы или базы данных. Кроме того, я провёл некоторые оптимизации против MySQL, реализующего разделение R/W;
dddlib-datasource-saas: новый источник данных SaaS для маршрутизации разных арендаторов к их конкретным базам данных. Предоставляет некоторые стратегии маршрутизации (например, разные базы данных арендаторов с разными IP, портом, именем базы данных, экземпляром, jndi). Одновременно поддерживает множество серверов баз данных и пулов соединений с базами данных;
dddlib-db: утилиты для подключения к базе данных, включая BTM, DBUnit, менеджер MySQL и Oracle;
dddlib-excel: предоставляет возможность обработки файлов Excel (.xls, .xlsx), реализованную Apache POI;
dddlib-i18n: модуль интернационализации и локализации;
dddlib-observer: реализация шаблона проектирования наблюдателя на уровне сущности. Когда что-то происходит с отслеживаемой сущностью, она… Наблюдатель получит сообщение о событии.
dddlib-rule-engine: Предоставить API и его реализацию для управляемой и неуправляемой службы правил, основанной на JSR94, что является спецификацией механизма правил.
hrm-demo — это пример проекта с использованием DDDLib.
========= Этот документ представляет собой лишь общее описание DDDLib. Подробные сведения о каждом подмодуле приведены в файле README.md соответствующей папки.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )