基于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模块序列化的方法,分享 ...
随机推荐
- js 改变页面元素的内容
改变页面标签里的内容 (方法) innerText innerHTML (常用) 代码示例 <div></div> <p> 我是文字 <span>1 ...
- Dom基础(三):事件冒泡,事件委托(事件代理)和事件捕获
javascript中的addEventListener(事件名,回调,布尔) 其中第三个参数默认为false-事件冒泡,true为事件捕获 二者区别: 事件冒泡:目标元素事件先触发,然后父元素事件触 ...
- 关于5G技术,这是我见过最通俗易懂的讲解了
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 1 一个简单且神奇的公式 今天的故事,从一个公式开始讲起. 这是一个既简单又神奇的公式.说它简单,是因为它一共只有 3 个字 ...
- golang get process name by pid
一个很好的问题:How golang to get process name by process id (pid)? 目前看来go api并没有提供通过pid获取进程名称的方法,可以通过 /proc ...
- CVE-2021-35042
CVE-2021-35042 漏洞介绍 Django 是 Python 语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架. 漏洞影响版本:django 3.1.3.2 202 ...
- 从防御者视角来看APT攻击
前言 APT防御的重要性毋庸讳言,为了帮助各位师傅在防御方面建立一个总体认识,本文会将APT防御方法分为三类,分别是:监控.检测和缓解技术,并分别进行梳理,介绍分析代表性技术.这一篇分析现有的监控技术 ...
- linux fedora35 配置jdk,安装mysql,安装tomcat
配置jdk18很简单,下载jdk,只需要.tar.gz结尾的文件就行,https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.t ...
- 【java并发编程】Lock & Condition 协调同步生产消费
一.协调生产/消费的需求 本文内容主要想向大家介绍一下Lock结合Condition的使用方法,为了更好的理解Lock锁与Condition锁信号,我们来手写一个ArrayBlockingQueue. ...
- Git命令行提交代码步骤
先进入对应的项目目录 1.拉取服务器代码,避免覆盖他人代码 git pull 2.查看当前项目中有哪些文件被修改过 git status 具体状态如下: 1:Untracked: 未跟踪,一般为新增文 ...
- Spring是如何整合JUnit的?JUnit源码关联延伸阅读
上一篇我们回答了之前在梳理流程时遇到的一些问题,并思考了为什么要这么设计. 本篇是<如何高效阅读源码>专题的第十二篇,通过项目之间的联系来进行扩展阅读,通过项目与项目之间的联系更好的理解项 ...