.net core 【二】
一、构造引擎:
1.首先Core层创建一个接口实例:
using System; using System.Collections.Generic; using System.Text; namespace General.Core { //系统的引擎接口 public interface IEngine { /// <summary> /// 构建一个实例 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> T Resolve<T>() where T : class; } }
2. web层写一个继承实例的方法
using System; using System.Collections.Generic; using System.Text; namespace General.Core { //系统的引擎接口 public interface IEngine { /// <summary> /// 构建一个实例 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> T Resolve<T>() where T : class; } }
3. 在core层添加该方法
using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime; using System.Text; namespace General.Core { public class EnginContext { private static IEngine _engine; /// <summary> /// 静态方法的形式去构造出一个对象 /// </summary> /// <param name="engine"></param> /// <returns></returns> /// 该方法就是保证每次只有一个 [MethodImpl(MethodImplOptions.Synchronized)] public static IEngine Initialize(IEngine engine) { if (_engine == null) _engine = engine; return _engine; } /// <summary> /// 当前引擎 /// </summary> public static IEngine Current { get { return _engine; } } } }
4. 添加一个业务层操作对象
// 添加对象 EnginContext.Initialize(new GeneralEngine(services.BuildServiceProvider()));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构