Skip to content

itharbors/module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

模块设计文档: Module System

NPM CI Status

一个简易的模块管理系统,主要职责:

  1. 管理模块列表
  2. 管理模块的生命周期
  3. 定义模块间的交互方式

需求分析

功能需求

  • 管理模块的生命周期函数
    • register、load、unload、unregister
  • 管理模块对外暴露的方法
    • 将所有方法收敛到一个出入口
  • 简易的数据管理
    • 定义、修改数据
    • 数据变化的监听
  • 对象上的缓存数据管理

非功能需求

整体架构设计

代码范例

基础用法

import { generateModule } from '@itharbors/module';

export const instance = generateModule<{
    map: Map<string, string>;
}>({
    data() {
        return {
            num: 10,
        };
    },

    register() {
        this.map = new Map();
    },

    unregister() {

    },

    load() {
        this.map.set('a', 'a');
    },

    unload() {

    },

    method: {
        async test(num: number) {
            this.num += num;
            return this.num;
        }
    },
});


instance.run('register');
instance.run('load');
instance.run('unload');
instance.run('unregister');

const num = await instance.execture('test', 2); // 12

决策点

异常处理设计

性能优化

附件与参考文档

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published