基于NCF的多模块协同实例
简介
这次给大家带来的内容是基于NCF的多模块协同实例
主要讲解的内容是NCF的模块Xncf之间相互调用,相互协作的能力
这里可以把Xncf比作乐高玩具,一个Xncf就是你拥有的乐高玩具的类型,比如你有一套搭建房子的乐高玩具,你又有一套搭建飞机和汽车的乐高玩具
那么多模块的协作就好比是你用搭建房子的玩具搭建了一部分,如果你想在房子里面建一个车库,然后把汽车乐高玩具中的搭建好的汽车直接放入到房子的车库中,完全匹配,没有不会觉得格格不入,因为他们的规格都是一致的


以上图片为网络图片,仅作为参考
步骤
- NCF概述
- NCF安装过程
- NCF Docs
- NCF运行模块的演示
- NCF接口运行的演示
- NCF案例的演示
- NCF不同模块下的模块的管理
- NCF不同模块下的接口的增加
- NCF不同模块下的相互调用
- MAUI的简单介绍
- MAUI的运行安装
- NCF结合MAUI的Demo演示
- NCF更多的可能性
实施
NCF概述
关于NCF的概述,我们很多章节都已经有讲过了,详细内容,请移步:关于 NCF

NCF安装过程
关于NCF安装过程,请移步:NCF首次运行安装

NCF Docs
官方文档:Docs

NCF运行模块的演示

运行登录成功后,会看到扩展模块下的模块管理中包含了很多发现的新的模块

点击安装模块,会显示模块是否需要开启,开启后,则模块的功能就全部开放为启用状态
NCF接口运行的演示

我们通过可视化的Swagger插件,将web api的接口显示出来

接口调用完成之后,显示的就是接口返回的数据格式,大家可以按照需要放置到自己需要的应用上
NCF案例的演示

这个案例是我们制作的一个小的案例,大家可以扫码去授权登录一下,这个小程序是完全使用NCF做出来的
NCF不同模块下的模块的管理
今天的重点来了哦,多个不同的模块同时安装到项目中

大家就能看到上图中,已安装的模块中包含了2个模块,一个是平台管理模块一个是DotnetDay模块

从项目中的代码结构上看是这样的

后端展示出来的实际的情况是这样的

点击新增商品,则可以看到新增商品的表单信息

每行的结尾都有一个编辑操作,点击后可以弹出编辑的表单页面
NCF不同模块下的接口的增加

这个是平台管理开放的v1版本的接口

这是DotnetDay模块的v3的接口
NCF不同模块下的相互调用

我们就拿新增商品的上传图片来说,我们拿DotnetDay模块下的商品管理的模块去调用 【平台管理】下v1的接口,就能证明模块之间的相互调用是否是成功的

上图为显示调用的结果,我们看上传调用的是v1的接口上传,这就能说明【DotnetDay模块】与【平台模块】相互调用了,而且成功了
综上所述,Xncf赋予了开发者极大的可能性,让你可以按照你的方式去编码,去写应用,去写功能
MAUI的简单介绍
.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。
使用 .NET MAUI,可以开发可在单个共享代码库中Android、iOS、macOS和Windows上运行的应用。

.NET MAUI 是开源的,是 Xamarin.Forms 的演变,从移动方案扩展到桌面方案,UI 控件从头开始重新生成,以便实现性能和扩展性。 如果以前使用 Xamarin.Forms 生成跨平台用户界面,你会注意到与 .NET MAUI 有许多相似之处。 但也有一些差异。 使用 .NET MAUI,可以使用单个项目创建多平台应用,但如有必要,可以添加特定于平台的源代码和资源。 .NET MAUI 的主要目标是在单个代码库中尽可能多地实现应用逻辑和 UI 布局。
MAUI的运行安装
安装MAUI前,必须要安装dotnet 7 preview,否则没办法运行成功

这里我选择Windows运行平台

当然,他也支持Android,IOS模拟器等

如果你还没有Android模拟器,你可以尝试新建一个

添加你想要的设备规格

添加之后,显示

运行展示

NCF结合MAUI的Demo演示
我们结合NCF与MAUI去展示一下产品的列表功能

MAUI上新增了一个进入应用的按钮,点击后会进入到商品列表的页面,当NCF的商品管理中的数据出现变化的时候

MAUI中进入应用后,就会展示下面的内容,这样就实现了MAUI与NCF的结合

还有很多更有意思的功能,希望能与你一起探索NCF的未来...
二维码为盛小嗨的微信,欢迎大家一起加入NCF的大家庭

NCF的仓库地址:https://github.com/NeuCharFramework/NCF
NCF Doc仓库地址:https://github.com/NeuCharFramework/NcfDocs
欢迎大家一起来Star,一起来贡献
基于NCF的多模块协同实例的更多相关文章
- mybatis学习一:基于xml与注解配置入门实例与问题
注:本case参考自:http://www.cnblogs.com/ysocean/p/7277545.html 一:Mybatis的介绍: MyBatis 本是apache的一个开源项目iBatis ...
- Maven--多模块依赖实例解析(五)
<Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)> <Maven—生命周期和插件(四)&g ...
- Ansible运维自动化工具19个常用模块使用实例【转】
一.模块列表 1.setup 2.ping 3.file 4.copy 5.command 6.shell 7.script 8.cron 9.yum 10.service 11.group 12.u ...
- Android单片机与蓝牙模块通信实例代码
Android单片机与蓝牙模块通信实例代码 参考路径:http://www.jb51.net/article/83349.htm 啦啦毕业了,毕业前要写毕业设计,需要写一个简单的蓝牙APP进行交互,通 ...
- python中argparse模块用法实例详解
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
- Arduino 基于 ESP8266 配置WIFI模块
Arduino 基于 ESP8266 配置WIFI模块 使用ESP8266作为服务器,使用浏览器访问该服务器,从而控制LED灯 选择 [文件]->[示例]->[ESP8266WIFI]-& ...
- 推荐系统| ② 离线推荐&基于隐语义模型的协同过滤推荐
一.离线推荐服务 离线推荐服务是综合用户所有的历史数据,利用设定的离线统计算法和离线推荐算法周期性的进行结果统计与保存,计算的结果在一定时间周期内是固定不变的,变更的频率取决于算法调度的频率. 离线推 ...
- Python基于回溯法解决01背包问题实例
Python基于回溯法解决01背包问题实例 这篇文章主要介绍了Python基于回溯法解决01背包问题,结合实例形式分析了Python回溯法采用深度优先策略搜索解决01背包问题的相关操作技巧,需要的朋友 ...
- python使用cPickle模块序列化实例
python使用cPickle模块序列化实例 这篇文章主要介绍了python使用cPickle模块序列化的方法,是一个非常实用的技巧,本文实例讲述了python使用cPickle模块序列化的方法,分享 ...
随机推荐
- EF Core忽略某个属性保存
1.事情起因 某天朋友突然问我他的EF不能保存,让我帮忙看看,观察发现主表中存在明细表的集合,导致保存失败. 2.解决方案 方案1:DTO模型与DO模型分开,保存时映射. 分层领域模型规约名词解释: ...
- python练习-20200826
1:L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart','Lisa'] ...
- Dockerfile创建自有镜像
文件名必须名为Dockerfile,用touch命令新建Dockerfile文件(执行touch Dockerfile),Dockerfile内容: from ubuntu --基础镜像名字 main ...
- c++:-2
上节介绍C++的函数介绍:c++:-1,本节学习类与对象 类与对象 定义 类定义 class 类名称 { public: 公有成员(外部接口) private: 私有成员 protected: 保护型 ...
- 利用腾讯云函数部署.Net 5米游社原神每日签到功能
自从GitHub批量禁止滥用Action功能后,项目不得不考虑另外方案执行应用.其中腾讯云函数被大家作为不错的选择(虽然马上也要收费了). 但对于.Net的部署目前资源很少,而且我也没学过bash.在 ...
- ajax 请求登录超时跳转登录页解决方法
在Filter里判断是否登录,如果未登录返回401状态 public class SelfOnlyAttribute : ActionFilterAttribute { public override ...
- 5┃音视频直播系统之 WebRTC 中的协议UDP、TCP、RTP、RTCP详解
一.UDP/TCP 如果让你自己开发一套实时互动直播系统,在选择网络传输协议时,你会选择使用UDP协议还是TCP协议 假如使用 TCP 会怎样呢?在极端网络情况下,TCP 为了传输的可靠性,将会进行反 ...
- Java 17 新特性:switch的模式匹配(Preview)
还记得Java 16中的instanceof增强吗? 通过下面这个例子再回忆一下: Map<String, Object> data = new HashMap<>(); da ...
- 在Windows2003 server 64位系统上使用ArcEngine开发的WCF服务
之前大篇文章提到,ESRI说AE10.0以后已经不支持WebService的发布,经过一段时间的测试,发现目前10.2.2版本开始的WCF服务都可以正常发布,且运行正常. 先说一下之前遇到的问题,本机 ...
- arts-week14
Algorithm 923. 3Sum With Multiplicity - LeetCode Review Building a network attached storage device w ...