NeuCharFramework (NCF)
  • NCF - NeuCharFramework
  • Projects

    • Preparation
    • Basic Library Source Code Analysis
    • DynamicWebApiEngine
    • Deployment
  • Help

    • Online Resources
    • Q&A Community
    • QQ Group (147054579)
    • Senparc WeChat SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF - NeuCharFramework
  • Projects

    • Preparation
    • Basic Library Source Code Analysis
    • DynamicWebApiEngine
    • Deployment
  • Help

    • Online Resources
    • Q&A Community
    • QQ Group (147054579)
    • Senparc WeChat SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF Overview

    • NCF - NeuCharFramework
    • About NCF
    • Environment Requirements
    • Frontend and Backend Separation Mode
    • Introduction to Xncf Modules
  • Prepare Development

    • Get NCF Template Source Code
    • Using Visual Studio to Run NCF
    • Running NCF Using CLI
    • Installation
    • Admin Login
    • Admin Backend
    • appsettings.json Configuration
    • Module Management
    • Accessing Documentation
  • Configuration

    • Entry File
    • Database Settings
    • appsettings.json Configuration
    • Docker
    • Dapr
    • Configure Multi-Tenant
    • Redis Cache
  • Modular Development

    • NCF Modular Development Concept
    • Composition of Xncf
    • Create the First Xncf Module
    • Xncf Module Sample Detailed Explanation
    • Implement Your Own Business Logic
    • Update Xncf Module
    • How to Call Between Modules
    • Publish Xncf Module to nuget.org
    • Update Base Library
    • Xncf Module Development
    • Embedding Static Resource Files into NCF
    • Publish Local Nuget Package
    • Advanced
  • Database

    • Database Settings
    • Multi-Database Support
    • Specify Database
    • Update database migration files for the Senparc.Service project (Migrations)
    • Multi-Database Principle
    • DatabasePlant
    • Tarmac Operation Database Migration and Update
  • Unit Testing

    • NCF Unit Test Introduction
    • Start Development
    • Advanced
    • Appendix
  • Q&A

    • NCF Terminology
    • NCF FAQ
  • Release

    • New Features
    • Upgrade Guide
    • Logs

NCF Modular Development Concept

NCF adopts a modular concept for construction. Based on the underlying support library of the system, all functional modules appear in the form of "modules", "everything is a module".

For example, data management functions can be a module, the system kernel can be a module, the management backend can be a module, and business-level shopping carts can be a module, payment can be a module, reviews can be a module, and so on. Even the functionality of visual module creation itself is also a module.

Using NCF's modular development has many benefits, such as:

  1. Small-granularity function development, convenient for decoupling and unit testing;
  2. Modules can call each other, facilitating function reuse;
  3. Small-granularity release (supports Nuget package release), convenient for sharing module functions;
  4. Convenient for code and function migration;
  5. Provides a unified modular interface, convenient for system integration (even existing systems can be integrated into NCF with simple modifications);
  6. Visual module templates, and interface implementations with multiple types of free choices, quickly build business base code;
  7. Independent module installation and uninstallation can achieve complete database table isolation, without affecting each other, high reliability;
  8. Independent modules can be upgraded individually in small granularity, without affecting other modules;
  9. And so on.

Module Code

NCF's internal module code: Xncf, where X means Extension or Unknown, and ncf indicates that this module is rooted in the NCF framework.

For more module naming rules, please refer to: Xncf Naming Rules.

Q&A: Can I not use modular development?

Q: My system is relatively simple, and I don't need to consider migration, flexibility, or expansion. Can I develop directly on NCF?

A: Of course. Loading modules is just for convenience and system decoupling. NCF is suitable for most development scenarios, including monolithic applications, distributed systems, containers, mobile terminals such as WeChat, cross-platform Hybrid applications, and so on.

Edit this page on GitHub
Last Updated:
Contributors: Jeffrey Su
Next
Composition of Xncf