<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享一個基于.NET6包含DDD,ES,CQRS等概念的開源項目

          共 1819字,需瀏覽 4分鐘

           ·

          2022-04-19 12:27



          當你在學習DDD、CQRS或時間溯源時,除了大量的學習資源(比如書籍和文章)之外,你還接觸到了許多概念,這些資源只是在討論理論問題。這很好,我們知道他們在說什么,但我們如何在一個真正的項目中使用他們呢?我們如何實現(xiàn)這些目標呢?


          當您試圖獲取一些代碼示例時,通常會發(fā)現(xiàn)一些簡單的示例通過在僅包含一個實體的域中移動來演示這些復雜的概念,而該域通常包含一個實體,而該實體通常是消費者。


          這些都是很好的例子,但是如果我們想在一個實際的應用程序項目中遵循它們,許多問題會引起我們的困惑!因為現(xiàn)實世界的挑戰(zhàn)!


          • 我們如何驗證 X 以及在哪里驗證?

          • 我們如何從多個實體收集復雜的數(shù)據?

          • X 在架構中的最佳位置在哪里?為什么?


          還有許多其他問題,這些也是我的問題!


          所以,如果你沒有人問你的問題,也許你需要通過深入研究源代碼來發(fā)現(xiàn)答案,它為你的挑戰(zhàn)提供了一些解決方案。


          但是沒有多少開源項目可以讓你深入研究,你會發(fā)現(xiàn)自己在為一個以上的源代碼而掙扎,甚至會讓你更加困惑。因為每個項目在某些概念上都有自己的方法。


          所以,在克服了所有這些挑戰(zhàn)之后,我決定制定一個獨特的解決方案,現(xiàn)在我想談談TaskoMask!

          什么是TaskoMask?

          TaskoMask 是一個基于 .Net 的免費開源任務管理系統(tǒng)。你可以在 GitHub 上瀏覽它的源代碼,每個人都可以作為團隊成員或項目所有者使用它。但是這個項目的主要目標是展示我們如何通過以下方式清晰地實現(xiàn)軟件技術和模式。因此,開發(fā)人員可以使用它來尋找具有真正挑戰(zhàn)的真實示例項目。

          源代碼功能

          這是項目涵蓋的項目列表,我們盡量保持最新。

          后端:

          • .Net 6

          • C#

          • ASP.NET Web API

          • ASP.NET MVC

          • MongoDB

          • Redis

          • MediatR

          • AutoMapper

          • FluentValidation

          • Swagger

          • Serilog

          • Seq

          • xUnit with FluenAssertion and Moq

          • MvcPagedList.Core

          • RedisCache.Core

          前端 :

          • Blazor

            • Blazor Server

            • Cookie Authentication without ASP.NET Identity

            • Working with APIs protected by JWT

            • Comunication between components by messages

          • .HTML

          • CSS

          • Java Script

          • JQuery

          • Bootstrap

          • Jquery.noty

          • Chart.js

          模式、方法論、方法:

          • Onion Architecture

          • Unit Testing

          • DDD

            • Rich Domain Model (for core domain)

            • Anemic Domain Model (for less important subdomains)

            • Aggregate

            • Value Object

            • Domain Event

            • Domain Service

            • Always Valid Domain Model

            • Invariants

            • Specification

            • Factory Method

            • Optimistic Concurrency

            • Separate Domain Model and Data Model

          • CQRS

            • Separate Read and Write Model

            • Separate Read Side DB and Write Side DB

          • Event Sourcing

          • Repository

          • Notification

          一些技術特點:

          • 使用管道模式緩存行為

          • 使用管道模式進行驗證( Fluent Validation 和 Data Annotation Validation)

          • 使用流水線模式存儲事件

          • 域和應用程序異常處理程序

          • 內存總線

          • Cookie 身份驗證

          • Jwt認證

          • 沒有 ASP.NET 身份認證的的角色權限基礎用戶管理

          • 支持 JWT 的 Swagger UI

          文檔

          該項目有一些好的文檔更有用,它有助于更多地了解架構、管道、域等。您可以在 GitHub 上的wiki頁面中看到它們:

          • 用戶指南文檔

          • 域文檔

          • 建筑文檔

          • REST API 文檔


          翻譯自:https://medium.com/@hamed.shirbandi/real-world-open-source-project-based-on-ddd-es-cqrs-af261cc24353


          若有收獲,就點個贊吧





          瀏覽 95
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久99高清 | 久操视频在线观看 | 涩小说校园春色图片区视频区小说区 | 日本成人福利 | 性爱插入毛片免费视频 |