基于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模块序列化的方法,分享 ...
随机推荐
- Windows下查找各类游戏存档路径
我算是个比较爱打单机游戏的人,同时也是个半吊子的编程爱好者,有的时候会去干一些修改存档的事儿.不过这篇博文不讲存档修改技术,只讲第一步:去哪找存档? 目标:在windows10系统下搜索到游戏的存档路 ...
- 手写useState与useEffect
手写useState与useEffect useState与useEffect是驱动React hooks运行的基础,useState用于管理状态,useEffect用以处理副作用,通过手写简单的us ...
- Git 使用心得 & 常见问题整理
开源Linux 回复"读书",挑选书籍资料~ Git 流程图 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remot ...
- Elasticsearch高级之-集群搭建,数据分片
目录 Elasticsearch高级之-集群搭建,数据分片 一 广播方式 二 单播方式 三 选取主节点 四 什么是脑裂 五 错误识别 Elasticsearch高级之-集群搭建,数据分片 es使用两种 ...
- Linux-Mycat实现MySQL的读写分离
centos8 服务器共三台 client 10.0.0.88 mariadb-10.4.24 mycat-server 10.0.0.18 ...
- mysqldump还原备份数据时遇到一个问题
问题描述 ERROR 1839 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = O ...
- python之装饰器补充与递归函数与二分查找
目录 多层装饰器 有参装饰器 递归函数 基本演示 斐波那契数列 总结 小拓展 算法之二分法 简介 举例 总结 多层装饰器 我们已经知道了语法糖的作用是将装饰对象自动装饰到装饰器中,一个语法糖的应用我们 ...
- 每天一个 HTTP 状态码 201
201 Created 201 Created 表示客户端的请求已经成功完成,结果是创建了一个新资源,通常用于响应「增删改查」里的「增」.如果是严格按照 RESEful style 的 API,那么当 ...
- 高危!Fastjson反序列化远程代码执行漏洞风险通告,请尽快升级
据国家网络与信息安全信息通报中心监测发现,开源Java开发组件Fastjson存在反序列化远程代码执行漏洞.攻击者可利用上述漏洞实施任意文件写入.服务端请求伪造等攻击行为,造成服务器权限被窃取.敏感信 ...
- Java基础(1)——ThreadLocal
1. Java基础(1)--ThreadLocal 1.1. ThreadLocal ThreadLocal是一个泛型类,当我们在一个类中声明一个字段:private ThreadLocal<F ...