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

OSCHINA-MIRROR/lishilei0523-SD.Framework

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 16:07 af5eb3a

Благодарность

Благодарим JetBrains за предоставление лицензии с открытым исходным кодом для Resharper.


Обзор проекта

Это фреймворк, поддерживающий .NET Core


Данный фреймворк направлен на повышение эффективности разработки и снижение сложности реализации предметно-ориентированного проектирования.

Основываясь на многолетнем личном опыте использования, он следует принципам объектно-ориентированной разработки и постепенно эволюционировал из бизнес-проектов.

Во фреймворке широко используются такие технологии .NET, как дженерики, рефлексия, делегаты, события, лямбда-выражения, EntityFramework, расширения поведения WCF, закладки WF, HttpModule ASP.NET, промежуточное ПО OWIN и другие. Также используются сторонние технологии, такие как Newtonsoft.Json, MrAdvice и Redis.

Применяются паттерны проектирования, включая Factory, Mediator, Adapter, Provider, Facade, а также принципы и супертипы.

Группа технического общения: 558010476

Пример проекта: https://gitee.com/lishilei0523/SD.IdentitySystem

Практический проект ASP.NET Core: https://gitee.com/lishilei0523/AspNetCore.Practice


2019.06.27 — Последние изменения в фреймворке
  1. Изменён уровень доступа к DbContext на protected;

  2. Добавлен метод построения выражения для фильтрации сущностей, что позволяет избежать переопределения метода FindAllInner для фильтрации связанных агрегатов с нулевыми или удалёнными объектами.


2019.03.20 — Последние изменения в фреймворке

Добавлен компонент для выполнения задач по расписанию, включающий выполнение задач по расписанию и постоянное хранение в Redis.


2018.04.26 — Последние изменения в фреймворке

Добавлена базовая функциональность слоя представления ASP.NET Core, включающая общие расширения, фильтры исключений и фильтры авторизации.


2018.04.25 — Последние изменения в фреймворке
  1. Атрибут AddedTime в классе PlainEntity изменил уровень доступа на protected для совместимости с EF Core;

  2. Исправлена ошибка в EF/EF Core, связанная с удалением объектов после их удаления.


2018.04.24 — Последние изменения в фреймворке
  1. Полностью активирована версия v2.6.1;

  2. Основные классы библиотеки фреймворка перенесены на .NET Standard 2.0 (см. список проектов);

  3. Добавлена реализация репозитория EF Core;

  4. Добавлены базовые компоненты промежуточного ПО ASP.NET Core.


2018.04.22 — Последние изменения в фреймворке
  1. Возобновлена поддержка версии 2.6.1 фреймворка;

  2. Фреймворк перенесён на .NET Standard 2.0, см. список проектов;

  3. Добавлена реализация репозиториев EF Core;

  4. Добавлено базовое промежуточное ПО для сервисов ASP.NET Core;


2018.04.21 — Последние изменения в фреймворке
  1. Агрегатные корни сущностей теперь содержат информацию о создателе и операторе;

  2. Добавлены интерфейсы для проверки и отключения сущностей;

  3. Используется CallContext.LogicalSetData()/LogicalGetData() для поддержки асинхронного программирования;

  4. Добавлена базовая инфраструктура веб-API;

  5. Версия .NET Framework обновлена до 4.6.1;

  6. Уровень изоляции транзакций изменён на моментальный снимок, добавлена поддержка асинхронных транзакций;

  7. Методы UnitOfWork/UnitOfWorkExtension расширены для асинхронной работы;

  8. Логические события домена расширены для асинхронной обработки;

  9. API репозиториев упрощён.


2017.05.21 — Последние изменения в фреймворке
  1. В Common удалены зависимости от PanGu для сегментации слов;

  2. Базовый интерфейс службы домена удаляет GetKeywords;

  3. Модель страницы реализует IEnumerable;

  4. Ключевые слова перемещены из PlainEntity в AggregateRootEntity;

  5. Репозитории скорректированы соответствующим образом.


2017.04.28 — Последние изменения в фреймворке
  1. Добавлен атрибут OperatorAccount в Aggregate Root;

  2. Удалён атрибут Sort из обычных сущностей;

  3. Атрибуты SavedTime, Deleted и DeletedTime имеют уровень доступа protected internal;

  4. В репозитории EF добавлены события для получения информации об операторе при выполнении операций над агрегатами, чтобы записывать информацию об операторе во время операций создания, обновления и удаления;

  5. Часть атрибутов обычных сущностей (Number, Name, SavedTime, Deleted, DeletedTime) перемещена в Aggregate Root;

  6. Репозиторий разделён на базовый репозиторий для агрегатов и базовый репозиторий для обычных сущностей;

  7. Реализация репозиториев для Entity Framework и RavenDB разделена.

Список проектов

  • Инфраструктурные компоненты

SD.Infrastructure (.NET Standard 2.0)

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

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure

SD.Infrastructure.AOP (.NET Standard 2.0)

Инфраструктура AOP, включая различные способы обработки исключений для разных проектов.

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.AOP

SD.Infrastructure.Global (.NET Standard 2.0)

Глобальные операции инфраструктуры, включая глобальную инициализацию, освобождение ресурсов и транзакции.

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.Global

  • Компоненты событий домена

SD.Infrastructure.EventBase (.NET Standard 2.0)

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

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.EventBase

SD.Infrastructure.EventStoreProvider.RabbitMQ (.NET Standard 2.0)

Поставщик хранилища событий домена RabbitMQ.

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.EventStoreProvider.RabbitMQ

SD.Infrastructure.EventStoreProvider.Redis (.NET Standard 2.0)

Поставщик хранилища событий домена Redis.

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.EventStoreProvider.Redis

  • Компоненты задач по расписанию

SD.Infrastructure.CrontabBase (.NET Standard 2.0)

Базовая инфраструктура задач по расписанию, включая базовые классы задач по расписанию, фабрики исполнителей задач по расписанию и посредники планирования.

NuGet пакет: https://www.nuget.org/packages/SD.Infrastructure.CrontabBase SD.Infrastructure.CrontabStoreProvider.Redis (.NET Standard 2.0)

Поставщик хранилища для задач, выполняемых по расписанию в Redis.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.CrontabStoreProvider.Redis

Серверная часть

SD.Infrastructure.AspNetCore.Server (.NET Core 2.0)
Базовая инфраструктура для ASP.NET Core на серверной стороне.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.AspNetCore.Server

SD.Infrastructure.MVC.Server (.NET Framework 4.6.1)
Инфраструктура для серверной стороны ASP.NET MVC 5.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.MVC.Server

SD.Infrastructure.WebApi.Server (.NET Framework 4.6.1)
Инфраструктура для серверной стороны ASP.NET WebApi 2.0.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.WebApi.Server

SD.Infrastructure.WCF.Server (.NET Framework 4.6.1)
Инфраструктура для WCF на серверной стороне.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.WCF.Server

Хранилище данных

SD.Infrastructure.Repository.EntityFramework (.NET Framework 4.6.1) Инфраструктура хранилища данных, включающая в себя три уровня абстракции EntityFramework DbContext, средство очистки базы данных, поставщик хранилища EntityFramework и поставщик UnitOfWork EntityFramework.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.Repository.EntityFramework

SD.Infrastructure.Repository.EntityFrameworkCore (.NET Core 2.0)
Инфраструктурная основа для хранилища данных — реализация с использованием EF Core.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.Repository.EntityFrameworkCore

SD.Infrastructure.Repository.MongoDB (.NET Standard 2.0)
Инфраструктурная основа для хранилища данных — реализация с использованием MongoDB.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.Repository.MongoDB

SD.Infrastructure.Repository.RavenDB (.NET Standard 2.0)
Инфраструктурная основа для хранилища данных — реализация с использованием RavenDB.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.Repository.RavenDB

Уровень представления

SD.Infrastructure.AspNetCore (.NET Core 2.0)
Базовая инфраструктура уровня представления для ASP.NET Core.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.AspNetCore

SD.Infrastructure.MVC (.NET Framework 4.6.1)
Базовая инфраструктура уровня представления для ASP.NET MVC 5.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.MVC

SD.Infrastructure.WPF (.NET Framework 4.6.1)
Базовая инфраструктура уровня представления WPF.

NuGet-пакет доступен по адресу: https://www.nuget.org/packages/SD.Infrastructure.WPF

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/lishilei0523-SD.Framework.git
git@api.gitlife.ru:oschina-mirror/lishilei0523-SD.Framework.git
oschina-mirror
lishilei0523-SD.Framework
lishilei0523-SD.Framework
master