基于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模块序列化的方法,分享 ...
随机推荐
- Java函数的学习
函数的定义 - 定义的位置:定义在类的内部 - 组成部分: 函数修饰符 类型 函数名(形式参数){ 局部变量: 注释: 函数体: } 函数的调用 - 调用函数时使用 : `函数名():` - 函数在执 ...
- Python装饰器:套层壳我变得更强了
Python装饰器:套层壳我变得更强了 Python装饰器:套层壳我变得更强了 关于作用域和闭包可以聊点什么? 什么是作用域 什么是闭包 装饰器:套层壳我变得更强了 参考资料 昨天阅读了<Pyt ...
- Linux(ubuntu)二进制安装mysql8.0
mysql官方网站下载地址:https://dev.mysql.com/downloads/mysql/ 1.创建mysql运行用户和组 groupadd -g 1001 mysql useradd ...
- Electron结合React和TypeScript进行开发
目录 结合React+TypeScript进行Electron开发 1. electron基本简介 为什么选择electron? 2. 快速上手 2.1 安装React(template为ts) 2. ...
- 漏洞复现:MS12-020 远程桌面协议RDP远程代码执行漏洞
漏洞复现:MS12-020 远程桌面协议RDP远程代码执行漏洞 攻击机:Kali2019 靶机:Win7 64位 解题步骤: 1.打开Kali2019和Win7 64位 ,确定IP地址是多少 2.确定 ...
- ViewFlipper 简单应用
AdvserView.java package com.earen.viewflipper; import android.content.Context; import android.graphi ...
- 从零开始搭建高可用的k8s集群
一.环境准备 使用Hyper-V虚拟机功能搭建三台Centos虚拟机系统,配置好静态IP,分别为k8s-node1(192.168.0.8),k8s-node2(192.168.0.9),k8s-no ...
- Linux学习教程 | 全文目录
本教程最大的特点是通俗易懂,并且非常详细,花费 7 天时间即可快速了解 Linux. 第一章 Linux简介 1.1 操作系统是什么,操作系统概述 1.2 Linux是什么,有哪些特点? 1.3 Li ...
- 图解BM(Boyer-Moore)字符串匹配算法+代码实现
简介 本篇文章主要分为两个大的部分,第一部分通过图解的方式讲解BM算法,第二部分则代码实现一个简易的BM算法. 基本概念 bm是一个字符串匹配算法,有实验统计,该算法是著名kmp算法性能的3-4倍,其 ...
- (原创)[C#] MEF 主程序与插件加载不同版本的DLL
一.前言 MEF(Managed Extensibility Framework),是轻量级的插件框架.使用简单,功能强大.详细介绍见MSDN,本文不再赘述. 在使用MEF时,会遇到这样一种场景: 主 ...