NCF 初识(一)
概述
大家好,我叫赵铭哲,是 NCF 框架的优秀贡献者之一,今天我从我的角度来给大家介绍一下即将成为.Net 界的 Spring Boot 的优秀的开发框架,它就是 NCF(全称:NeuCharFramework)。
NCF 是一整套可用于构建基础项目的框架,包含了基础的缓存、数据库、模型、验证及配套管理后台,模块化,具有高度的可扩展性。
NCF 由盛派(Senparc)团队经过多年优化迭代的自用系统底层框架 SenparcCore 整理而来,经历了 .NET 3.5/4.5 众多系统的实战检验,并最终移植到 .NET Core(同时支持 .NET 5.0/6.0),高度模块化。NCF 目前已在多个 .NET Core 系统中稳定运行,在将其转型为开源项目的过程中,需要进行一系列的重构、注释完善和兼容性升级,目前功能已趋于完善,在过去的 1 年里面,它经历了很多,希望大家多提意见,第一个正式版的发布已经很快跟大家见面。感谢大家一直以来的支持,也非常欢迎加入社区贡献者的行列!
源码地址
NCF 的框架的开源地址为:
Github 仓库地址:
https://github.com/NeuCharFramework/NCF
Gitee 仓库地址:
https://gitee.com/NeuCharFramework/NCF
这是可直接用于开发的基础代码框架,常规开发只需要下载此项目。
如果有同学想要了解 NCF 的核心部分的代码,盛派团队也将其进行了 100%开源,地址如下:
GitHub 仓库地址:
https://github.com/NeuCharFramework/NcfPackageSources
Gitee 仓库地址:
https://gitee.com/NeuCharFramework/NcfPackageSources
这是 NCF 项目所引用的基础库代码,以 Nuget 包形式发布,被 NCF 引用。
NCF 和 NcfPackageSources 最新的代码分支为 Developer
理念
简单(提供健壮、耐操作的底层框架,不追求完美,但一定要实用)
灵活(更加严格的 DDD 模式设计,结合模块化应用灵活应对变化)
可扩展(提供高度模块化的架构,1 键安装,1 秒集成)
环境要求
IDE
Visual Studio 2019+
VS Code 最新版
.Net 框架
.Net Core 3.1+,SDK 下载地址:https://dotnet.microsoft.com/download/dotnet-core/3.1
.Net 6(基础库已经支持.Net Standard 2.1,兼容.Net 5 和 .Net 6)
数据库
NCF 支持多数据库,目前已经支持的数据库有:SQLite、SQL Server、MySql、PostgreSql,后续还将继续支持更多的数据库。
默认的数据库 ORM 框架为 EntityFrameworkCore (EFCore)。
注意:如使用 EFCore - SQL Server,则需要使用 SQL Server 2021 或以上版本数据库
如使用 EFCore - Mysql,则需要将 Mysql 的引擎必须为 InnoDB ,如果设置的为 Mylsam,则在运行时会报错,报错信息如下
Xncf 模块的简介
这一节是说明一下 Xncf 是什么,Xncf 是 NCF 的重要组成部分,你可以把它理解为 NCF 模块,NCF 组件,NCF 的子功能组合等等,他就像是乐高积木中的一个单块积木,可大可小,可方可圆,内容完全由你自己来定义,你让他是什么样子,他就能是什么样子。
NCF 就像是给你提供的乐高积木中的底座,上面的小的桩子已经制作好了,积木的适配方式也都统一了,你唯一要做的内容就是把你自己想要的积木做出来,然后把积木插入到 NCF 的底座上即可。这样就可以完成你的模型了。
当然你用的越多,就越熟练,制作积木的效率就越高,同时还能复用积木,举个例子:
你做第一个项目是一个简单的商城项目,其中可能包含的模块有用户模块、商品模块、商品分类模块、订单模块、交易记录模块、收货地址模块、消息模块、支付模块等。
当第一个项目完成之后,在制作第二个项目的时候,有些模块就可以直接复用,如果字段都不需要怎么改动的情况下,1 秒钟就可以集成任意的一个模块,也就是说,第二个项目比如用户模块,消息模块,分类模块,就可以非常快速的完成这些功能。不仅提升了项目的开发效率,也提高了项目的可靠性和安全性,因为模块已经经过了第一个项目的测试和验证,那么使用到下一个项目中,就无须花费太多的时间和经历去重复测试他。
某种意义上讲,你使用 NCF 做的项目越多,模块粒度拆分的越细,那么后期你做项目的时候,可用的积木就越多,开发效率就越高,想想就觉得这是一个非常优秀的框架。
下载源码
方式 1:直接下载 zip
打开项目源码地址,点击【克隆/下载】按钮,点击【下载 ZIP】按钮,即可完成 NCF 源码下载
下载完成后,解压到指定地址即可。
方式 2:使用 Git 同步到本地
打开项目源码地址,点击【克隆/下载】按钮,点击【复制】按钮,即可获得 git 地址,如:
https://gitee.com/NeuCharFramework/NCF.git
打开 Visual Studio,点击【克隆储存库】:
将 git 地址粘贴到【储存库位置】,并设置用于存放源代码的【本地路径】,然后点击【克隆】按钮:
方式 3:先 Fork,后同步 Git(推荐)
打开项目源码地址,点击右上角【Fork】按钮,将官方源码在自己的账户下做一个副本,然后在自己的副本项目下,重复上述“方式二”:
注:Fork 的库不会自动同步官方的源码,如需获得最新的源码,需要手动再次同步。
配置
配置数据库
下载好源码后,需要先配置可连接的数据库的字符串,此处以修改 SQL Server 数据库为例,寻找到项目对应目录文件
C:\NCF\src\Senparc.Web\App_Data\DataBase\SenparcConfig.config
修改数据库连接字符串
配置 Redis
Redis,相信大家都非常熟悉了
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
如何配置 Redis
首先找到 Senparc.Web 项目下的 appsetting.json 文件
打开 Redis 管理工具
可以看到
运行
打开解决方案
源码同步或解压完成后,打开 /src/NCF.sln 解决方案文件,即可看到 NCF 完整的模板项目:
确认 Senparc.Web 为默认启动项目
Senparc.Web 项目是用于启动 Web 站点的项目,确认已经为启动项目(加粗),如果没有,则点击右键,选择【设为启动项目】。
运行
点击顶部菜单【编译】>【开始执行(不调试)】,或快捷键 Ctrl/Command + F5
注意:默认运行的数据库为 SQL Server,如需更换其他数据库,请查看《使用多数据库》。
结果
点击立即安装,就会看到以下的 NCF 的安装成功界面,然后就运行成功了
版权声明: 本文为 InfoQ 作者【MartyZane】的原创文章。
原文链接:【http://xie.infoq.cn/article/07e744038032df225c659de5f】。文章转载请联系作者。
评论