日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

.net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍

發(fā)布時(shí)間:2024/7/23 asp.net 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

源碼地址

GitHub:https://github.com/iamoldli/NetModular

演示地址

地址:http://118.24.75.170:6220/

賬戶:admin
密碼:admin

前端框架演示地址(臨時(shí))

地址:http://progqx5cu.bkt.clouddn.com/skins/index.html#/
賬戶:admin
密碼:admin

我想要的模塊化

1、采用前后端分離。
2、將業(yè)務(wù)拆分成獨(dú)立的模塊,后端代碼打包并發(fā)布到公司內(nèi)部的NuGet包管理平臺(tái),前端代碼打包發(fā)布到公司內(nèi)部的NPM包管理平臺(tái)。
3、項(xiàng)目中用到了哪個(gè)模塊,直接通過(guò)包的形式安裝對(duì)應(yīng)的包。
4、開(kāi)發(fā)人員只需要關(guān)心自己負(fù)責(zé)的模塊,不需要知道依賴的業(yè)務(wù)模塊代碼邏輯。

項(xiàng)目架構(gòu)圖

塊化原理

實(shí)現(xiàn)模塊化首先要解決的就是如何將多個(gè)模塊集成到一個(gè)系統(tǒng)里面,因?yàn)槲覀冇玫氖荳ebApi,也就是說(shuō)要解決怎么把每個(gè)模塊的控制器注冊(cè)到系統(tǒng)中。好在ASP.NET Core提供了對(duì)應(yīng)的功能,可以讓我們很方便的實(shí)現(xiàn)這個(gè)效果,那就是ASP.NET Core 中的應(yīng)用程序部件,它能夠讓我們動(dòng)態(tài)的從一個(gè)程序集中發(fā)現(xiàn)并加載我們需要的控制器


var assembly = typeof(Startup).GetTypeInfo().Assembly;
services.AddMvc()
.AddApplicationPart(assembly);


var assembly = typeof(Startup).GetTypeInfo().Assembly;
var part = new AssemblyPart(assembly);
services.AddMvc()
.ConfigureApplicationPartManager(apm => apm.ApplicationParts.Add(part));

需要注意的是,在系統(tǒng)啟動(dòng)的時(shí)候,ASP.NET Core默認(rèn)會(huì)自動(dòng)從入口程序集開(kāi)始,遍歷所有的依賴程序集并添加系統(tǒng)中。

var entryAssembly = Assembly.Load(new AssemblyName(entryAssemblyName));
var assembliesProvider = new ApplicationAssembliesProvider();
var applicationAssemblies = assembliesProvider.ResolveAssemblies(entryAssembly);

foreach (var assembly in applicationAssemblies)
{
var partFactory = ApplicationPartFactory.GetApplicationPartFactory(assembly);
foreach (var part in partFactory.GetApplicationParts(assembly))
{
ApplicationParts.Add(part);
}
}

因?yàn)樗心K都是通過(guò)包安裝到項(xiàng)目中的,所有模塊都是有依賴的,也就不需要我們手動(dòng)添加了。

使用代碼生成器快速開(kāi)發(fā)

基本上每一個(gè)框架都會(huì)提供代碼生成器的功能,NetModular也不例外,與別的代碼生成器不同,NetModular的代碼生成器是作為一個(gè)模塊存在的它可以集成到任何項(xiàng)目當(dāng)中。
大部分代碼生成器都是根據(jù)先創(chuàng)建數(shù)據(jù)庫(kù),在根據(jù)數(shù)據(jù)庫(kù)來(lái)生成代碼,而NetModular的代碼生成器則是在線創(chuàng)建項(xiàng)目、實(shí)體、屬性等,然后根據(jù)這些數(shù)據(jù)生成代碼以及數(shù)據(jù)庫(kù)文件。
具體的不在演示,大家有興趣的話可以訪問(wèn)上面的Demo地址自己體驗(yàn)一下~

結(jié)尾

這邊文章只是簡(jiǎn)單做個(gè)介紹,后續(xù)希望自己能夠?qū)懸粋€(gè)系列的文章來(lái)詳細(xì)的講解基礎(chǔ)框架的各個(gè)模塊、前端框架模塊以及已有的業(yè)務(wù)模塊。

原文地址:https://www.cnblogs.com/oldli/p/10895001.html

.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總?http://www.csharpkit.com?

總結(jié)

以上是生活随笔為你收集整理的.net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。