All Projects → MiCake → MiCake

MiCake / MiCake

Licence: MIT license
🍰一款基于.Net Core平台的“超轻柔“领域驱动设计(DDD)组件

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to MiCake

Architecture
.NET 6, ASP.NET Core 6, Entity Framework Core 6, C# 10, Angular 13, Clean Code, SOLID, DDD.
Stars: ✭ 2,285 (+1940.18%)
Mutual labels:  aspnetcore, ddd, dotnetcore
Weapsy
ASP.NET Core CMS
Stars: ✭ 748 (+567.86%)
Mutual labels:  aspnetcore, ddd, dotnetcore
Quiz
Example real time quiz application with .NET Core, React, DDD, Event Sourcing, Docker and built-in infrastructure for CI/CD with k8s, jenkins and helm
Stars: ✭ 100 (-10.71%)
Mutual labels:  aspnetcore, ddd, dotnetcore
Netcorekit
💗 A crafted toolkit for building cloud-native apps on the .NET platform
Stars: ✭ 248 (+121.43%)
Mutual labels:  aspnetcore, ddd
Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 227 (+102.68%)
Mutual labels:  aspnetcore, ddd
Identity.dapper
Identity package that uses Dapper instead EntityFramework for use with .NET Core
Stars: ✭ 234 (+108.93%)
Mutual labels:  aspnetcore, dotnetcore
Revo
Event Sourcing, CQRS and DDD framework for C#/.NET Core.
Stars: ✭ 162 (+44.64%)
Mutual labels:  aspnetcore, ddd
ZooKeeper-Admin
ZooKeeper 管理工具
Stars: ✭ 45 (-59.82%)
Mutual labels:  aspnetcore, dotnetcore
GatewayService
GatewayService (Ocelot).
Stars: ✭ 19 (-83.04%)
Mutual labels:  aspnetcore, dotnetcore
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+7266.07%)
Mutual labels:  ddd, dotnetcore
dotnetcore-image
Solution of .NET Core GDI+(Image) on Linux/Docker
Stars: ✭ 22 (-80.36%)
Mutual labels:  aspnetcore, dotnetcore
Netdevpack
A smart set of common classes and implementations to improve your development productivity.
Stars: ✭ 220 (+96.43%)
Mutual labels:  aspnetcore, ddd
Aspnet Core 3 Registration Login Api
ASP.NET Core 3.1 API for User Management, Authentication and Registration
Stars: ✭ 173 (+54.46%)
Mutual labels:  aspnetcore, dotnetcore
Restairline
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
Stars: ✭ 243 (+116.96%)
Mutual labels:  aspnetcore, ddd
PugetSound
PugetSound allows you and your group to enjoy music together using Spotify.
Stars: ✭ 52 (-53.57%)
Mutual labels:  aspnetcore, dotnetcore
SimpleSocial
A simple social network web application using ASP.NET Core 3.1
Stars: ✭ 16 (-85.71%)
Mutual labels:  aspnetcore, dotnetcore
DNZ.SEOChecker
SEO Checker and Recommander Plugin (like wordpress Yoast) for ASP.NET Core.
Stars: ✭ 18 (-83.93%)
Mutual labels:  aspnetcore, dotnetcore
BlazorAuthenticationSample
A sample showing some of the ASP.NET Core Blazor authentication features (also some testing...) 🚀
Stars: ✭ 78 (-30.36%)
Mutual labels:  aspnetcore, dotnetcore
Samples.aspnetcore Identityserver4
IdentityServer4 sample with .NET Core and ASP.NET Core 2.0
Stars: ✭ 115 (+2.68%)
Mutual labels:  aspnetcore, dotnetcore
Dotnetcore
.NET 5 Nuget Packages.
Stars: ✭ 146 (+30.36%)
Mutual labels:  aspnetcore, dotnetcore

MiCake

一款基于.Net Core平台的 “超轻柔” 领域驱动设计(DDD)组件

Nuget Version Nuget Downloads Maintainability Build StatusAzure DevOps tests Azure DevOps coverage Board Status

🍡 特点

  • “快捷” —— 快速将您的项目转换为DDD风格,让您更专注于您的领域代码。
  • “规范” —— 实现了DDD战术模式提出的几乎所有部件,便于使用领域驱动思想来规范项目。
  • “方便” —— 提供项目常用的基础功能(全局异常处理,数据格式化等),便于快速构建项目。
  • “灵活” —— 通过模块进行解耦,您可以根据自身需求使用特定的MiCake模块。
  • “轻柔” —— 无感的融入现有的项目,甚至感觉不到它的存在。

🍧 简介

MiCake(中文名我更喜欢叫它为“米蛋糕”😜)是基于 .Net Standard 所开发的领域驱动设计(DDD)工具包。

您只需要通过 NuGet 包安装它,并且编写非常少量的代码就能快速使您的项目转变为DDD风格。

它提供了DDD战术模式中的大部分部件,比如聚合根、实体、值对象、领域服务等等,通过这些部件建立您的“领域对象”,将开发重心放在领域层中,其它大部分的交互逻辑都将由MiCake来帮您完成。

“轻柔”“组件”MiCake在设计之初就被定位为“很薄的一层”,它包裹 .NET 项目但并不干扰,您仍然可以使用原有的编程习惯进行开发。

当不使用DDD风格时,您甚至都感觉不到它的存在。它很轻,轻到可以忽略;它不是一个“框架”,不会约束您的开发风格;它不是DDD,它只是让您更好的践行DDD

MiCake的核心是提供领域驱动设计(DDD)的功能,但同时还提供了其它的扩展功能便于您更快速的构建出应用程序:比如依赖注入、自动审计、全局异常处理等等功能。

🍒 用法

所需环境版本

  • .NET Core 5.0及以上版本
  • Visual Studio 2019

在您的Asp Net Core项目中通过NuGet安装MiCake.AspNetCore.Start

Install-Package MiCake.AspNetCore.Start

新增一个叫做MyEntryModule.cs的文件,该类的作用是告诉MiCake该从哪个程序集启动:

public class MyEntryModule : MiCakeModule
{
}

将您的DbContext继承自MiCakeDbContext:

public class MyDbContext : MiCakeDbContext
{
    public MyDbContext(DbContextOptions options) : base(options)
    {
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        base.OnConfiguring(optionsBuilder);
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        //不要删除该行代码
        base.OnModelCreating(modelBuilder);
    }
}

Startup.cs中添加MiCake服务:

public void ConfigureServices(IServiceCollection services)
{
    ………………

   //添加该代码 用于配置MiCake
   services.AddMiCakeWithDefault<MyDbContext, MyEntryModule>()
           .Build();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    …………

    //添加该代码 用于启动MiCake。确保该代码位于UseEndpoints之前
    app.StartMiCake();
    app.UseEndpoints(…………);
}

是的,就是如此简单。AddMiCakeWithDefaultMiCake所提供的基础使用方案,您可以通过查阅文档来获取更丰富的使用方法。

文档中心提供了一篇《Wiki - 搭建起步程序》来介绍如何使用MiCake,也许您可以从中获取一些帮助。

🍉 文档

点击跳转至:文档中心

🍊 示例项目

您可能会对大量的文字教程而感到枯燥,因此我们提供了以下的几个演示项目供您参考:

  • 预约星 (Coming Soon)
  • 旅人帐 (Coming Soon)

MiCake.Samples仓库中放置了一些MiCake所公开的示例项目和实验性项目,您可以跳转至该仓库进行查阅.

🍍 当前版本

Nuget Package 版本信息 描述
MiCake.Core Nuget MiCake 核心程序集
MiCake.DDD.Domain Nuget MiCake 对DDD领域层的实现程序集
MiCake.Core.Util Nuget MiCake 提供的工具类程序集
MiCake.EntityFrameworkCore Nuget MiCake 对EFCore的支持程序集
MiCake.AspNetCore Nuget MiCake 对AspNetCore的支持程序集
MiCake.AspNetCore.Start Nuget MiCake 搭建起步程序所用的程序集

更多:请跳转至NuGet官网,进行查阅。

🍠 贡献与帮助

PRs Welcome

如果您有什么好的想法和观点,欢迎通过 Pull Request 进行贡献,或通过 提交 issues 来反馈您在使用过程中所发现的BUG。( 期待得到您的反馈~ 🌻🌻

🍑 联系

博客园

如果您喜欢关于 .NET 方面的内容,或者对领域驱动很感兴趣,欢迎您关注我的博客:句幽的博客。您可以通过博客园内的站内短消息来与我沟通有关编程方面的问题。

QQ:344481481

如果您愿意与我沟通一些其它方面(非编程方向)的事情,欢迎添加QQ好友。🌻🌻

🍄 最后

备战 .NET 5冲鸭!! 🐣

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].