.net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍
源碼地址
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)題。
- 上一篇: scrum–yesterday once
- 下一篇: IOC操作Bean管理XML方式(bea