基于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模块序列化的方法,分享 ...
随机推荐
- 2021.07.20 P3951 小凯的疑惑(最大公因数,未证)
2021.07.20 P3951 小凯的疑惑(最大公因数,未证) 重点: 1.最大公因数 题意: 求ax+by最大的表示不了的数(a,b给定 x,y非负). 分析: 不会.--2021.07.20 代 ...
- 【远程文件浏览器】Unity+Lua开发调试利器
Remote File Explorer是一个跨平台的远程文件浏览器,用户通过Unity Editor就能操作运行在手机上的游戏或是应用的的目录文件.比如当项目打包运行到设备上时,可通过Remote ...
- 不care工具,在大数据平台中Hive能自动处理SQL
摘要:有没有更简单的办法,可以直接将SQL运行在大数据平台? 本文分享自华为云社区<Hive执行原理>,作者: JavaEdge . MapReduce简化了大数据编程的难度,使得大数据计 ...
- mmdetection获取最高map的epoch
自动从训练结果中获取最高的mAP所对应的epoch. <code>import json import os ''' :param work_dir 训练结果目录 :return 最好的m ...
- Apache Doris ODBC外表数据库主流版本及其ODBC版本对应关系
本文是在CentOS 7.9下测试通过 使用的Doris是:0.15.0 unixODBC版本是:2.3.1 1.PostgreSQL 以下是PostgreSQL数据库版本和PostgreSQL OD ...
- js 如何判断变量类型
自定义一些类型 const boolean = true const string = '这是一个字符串' const number = 1 const array = [] const object ...
- 【Istio实际操作篇】Istio入门,10分钟快速安装
@ 目录 前言 本文说明 请大家务必查看 环境准备 详细版 入门:搭建步骤 Istio软件包下载 下载Istio 卸载 简洁版 安装 卸载 学习不走弯路,gz号「yeTechLog」 前言 上一篇讲了 ...
- 2.3 为什么建议使用虚拟机来安装Linux?
笔者认为,通过虚拟机软件学习是初学者学习 Linux 的最佳方式. 在与部分读者的交流中,笔者发现,很多初学者都认为,学习 Linux 就必须将自己的电脑装成 Linux 系统或者必须要有真正的服务器 ...
- 一文彻底搞懂JavaScript中的prototype
prototype初步认识 在学习JavaScript中,遇到了prototype,经过一番了解,知道它是可以进行动态扩展的 function Func(){}; var func1 = new Fu ...
- WPF中的依赖属性
1. WPF中的依赖属性 依赖属性是专门基于WPF创建的.在WPF库实现中,依赖属性使用普通的C#属性进行了包装,使用方法与普通的属性是相同的. 1.1 依赖属性提供的属性功能 资源 数据绑定 样式 ...