国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

關于DDD:管理"工作單元實例"的兩種模式的使用方法

2024-07-10 12:45:39
字體:
來源:轉載
供稿:網友
圖如下:

在常見的用例場景下,類圖的對象圖如下:

問題在一個用例執行過程中,如何保證同一個界限上下文內的所有倉儲實例可以共享同一個工作單元實例?解決方案1 
倉儲采用依賴注入模式 + 使用IOC管理工作單元的生命周期(PerRequest或其它)。

代碼示例
代碼如下:
using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;

 using Autofac;

 namespace AutoFacStudy
 {
     class Program
     {
         static void Main(string[] args)
         {
             var buider = new ContainerBuilder();
             buider.RegisterType<服務>();
             buider.RegisterType<倉儲A>();
             buider.RegisterType<倉儲B>();
             buider.RegisterType<工作單元>().InstancePerLifetimeScope();

             var container = buider.Build();

             dynamic 服務 = container.Resolve<服務>();

             //下邊兩行代碼輸出一樣
             Console.WriteLine(服務.倉儲A.工作單元.GetHashCode());
             Console.WriteLine(服務.倉儲B.工作單元.GetHashCode());
         }
     }

     public class 服務
     {
         private readonly 倉儲A _倉儲A;
         private readonly 倉儲B _倉儲B;

         public 服務(倉儲A 倉儲A, 倉儲B 倉儲B)
         {
             _倉儲A = 倉儲A;
             _倉儲B = 倉儲B;
         }

         public 倉儲A 倉儲A
         {

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂温| 东兰县| 靖远县| 怀来县| 新建县| 平泉县| 南部县| 鹤岗市| 铁岭县| 西平县| 饶阳县| 长泰县| 阳泉市| 景德镇市| 榆树市| 万载县| 石首市| 乌鲁木齐县| 铜陵市| 阿合奇县| 乡城县| 上栗县| 原阳县| 噶尔县| 怀化市| 辽阳市| 平乡县| 太谷县| 新津县| 甘谷县| 长子县| 清镇市| 四子王旗| 濮阳市| 巴马| 城口县| 金湖县| 巴东县| 南靖县| 灌阳县| 龙岩市|