Bootstrap

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仓库地址:

Gitee仓库地址:

这是可直接用于开发的基础代码框架,常规开发只需要下载此项目。

如果有同学想要了解NCF的核心部分的代码,盛派团队也将其进行了100%开源,地址如下:

GitHub仓库地址:

Gitee仓库地址:

这是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 地址,如:

打开 Visual Studio,点击【克隆储存库】:

将 git 地址粘贴到【储存库位置】,并设置用于存放源代码的【本地路径】,然后点击【克隆】按钮:

方式3:先Fork,后同步Git(推荐)

打开项目源码地址,点击右上角【Fork】按钮,将官方源码在自己的账户下做一个副本,然后在自己的副本项目下,重复上述“方式二”:

注:Fork 的库不会自动同步官方的源码,如需获得最新的源码,需要手动再次同步。

配置

配置数据库

下载好源码后,需要先配置可连接的数据库的字符串,此处以修改SQL Server数据库为例,寻找到项目对应目录文件

C:\NCF\src\Senparc.Web\App_Data\DataBase\SenparcConfig.config

修改数据库连接字符串

-- 默认方式

    3
    Local-SqlServer
    
    
    


-- 含用户名密码的设置方式

    3
    Local-SqlServer
    
    
    

配置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文件

//CO2NET 设置
  "SenparcSetting": {
    //以下为 CO2NET 的 SenparcSetting 全局配置,请勿修改 key,勿删除任何项

    "IsDebug": true,
    "DefaultCacheNamespace": "NcfDefaultCache",

    //分布式缓存
    "Cache_Redis_Configuration": "#{Cache_Redis_Configuration}#", //Redis配置
    //"Cache_Redis_Configuration": "localhost:6379",//不包含密码
    //"Cache_Redis_Configuration": "localhost:6379,password=senparc,connectTimeout=1000,connectRetry=2,syncTimeout=10000,defaultDatabase=3",//密码及其他配置
    "Cache_Memcached_Configuration": "#{Cache_Memcached_Configuration}#", //Memcached配置
    "SenparcUnionAgentKey": "#{SenparcUnionAgentKey}#" //SenparcUnionAgentKey
  }

打开Redis管理工具

可以看到

运行

打开解决方案

源码同步或解压完成后,打开 /src/NCF.sln 解决方案文件,即可看到 NCF 完整的模板项目:

确认Senparc.Web为默认启动项目

Senparc.Web 项目是用于启动 Web 站点的项目,确认已经为启动项目(加粗),如果没有,则点击右键,选择【设为启动项目】。

运行

点击顶部菜单【编译】>【开始执行(不调试)】,或快捷键 Ctrl/Command + F5

注意:默认运行的数据库为 SQL Server,如需更换其他数据库,请查看《使用多数据库》。

结果

点击立即安装,就会看到以下的NCF的安装成功界面,然后就运行成功了

本文介绍了NCF的基本概念和运行NCF所需要了解的内容,希望对你有所帮助,关于的内容可以移步到详细内容查看