NeuCharFramework (NCF)
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • 基础库源码分析
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • 基础库源码分析
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF 概要

    • NCF - NeuCharFramework
    • 关于 NCF
    • 环境要求
    • 前后端分离模式
    • Xncf模块简介
  • 准备开发

    • 获取 NCF 模板源码
    • 使用 Visual Studio 运行 NCF
    • 使用 CLI 运行 NCF
    • 安装
    • 管理员登录
    • 管理员后台
    • appsettings.json 配置
    • 模块管理
    • 获取文档
  • 配置

    • 入口文件
    • 数据库设置
    • appsettings.json 配置
    • Docker
    • Dapr
    • 配置多租户
    • Redis 缓存
  • 模块化开发

    • NCF 模块化开发思想
    • Xncf 的构成
    • 创建第一个 Xncf 模块
    • Xncf 模块 Sample 详解
    • 实现自己的业务逻辑
    • 更新 Xncf 模块
    • 模块之间如何调用
    • 发布Xncf 模块到nuget.org
    • 更新基础库
    • Xncf 模块开发
    • 嵌入静态资源文件到NCF中
    • 发布本地Nuget包
    • 进阶
  • 数据库

    • 数据库设置
    • 多数据库支持
    • 指定数据库
    • 更新 Senparc.Service 项目的数据库迁移文件(Migrations)
    • 多数据库原理
    • 数据库停机坪(DatabasePlant)
    • 停机坪操作数据库迁移和更新
  • 单元测试

    • NCF 单元测试介绍
    • 开始开发
    • 进阶
    • 附录
  • Q&A

    • NCF名词解释
    • NCF常见问题
  • 新发布

    • 新功能
    • 升级指导
    • 日志

NCF 模块化开发思想

NCF 采用模块化的思想构建,在系统底层的支持库基础之上,所有的功能模块都以“模块”的形式出现,“一切皆模块”。

例如,数据管理功能可以是一个模块、系统内核可以是一个模块、管理后台可以是一个模块,以及业务层面的购物车可以是一个模块、支付可以是一个模块、评价可以是一个模块,等等。甚至可视化创建模块的功能本身也是一个模块。

使用 NCF 的模块化开发有诸多的好处,比如:

  1. 小粒度功能开发,方便解耦和单元测试;
  2. 模块间可以相互调用,方便功能重用;
  3. 小粒度发布(支持 Nuget 包发布),方便共享模块功能;
  4. 方便代码和功能移植;
  5. 提供统一的模块化接口,方便系统集成(甚至是现有系统经过简单修改就可以作为一个模块集成到到 NCF);
  6. 可视化模块模板,以及多类型自由选择的接口实现,快速构建业务基础代码;
  7. 独立模块的安装、卸载可以做到完全数据库表隔离,互不影响,可靠性高;
  8. 独立模块可以小粒度单独升级,不影响其他模块;
  9. 等等。

模块代号

NCF 的模块内部代号:Xncf,其中 X 即 Extension(可扩展)、Unknown(未知)之意,ncf 即表明此模块根植于 NCF 大框架。

更多模块命名规则请参考:Xncf 的命名规则。

Q&A:是否可以不使用模块化开发?

Q:我的系统比较简单,也不需要考虑移植、弹性或扩展,是否可以直接在 NCF 上进行开发?

A:当然可以。加载模块只是为了方便重和系统解耦用而已,NCF 适用于大多数开发场景,包括单体应用、分布式、容器、微信等移动端、跨平台 Hybrid 应用,等等。

在 GitHub 上编辑此页
上次更新:
贡献者: MLTechnology
Next
Xncf 的构成