-
Notifications
You must be signed in to change notification settings - Fork 4
concepts
GStones edited this page Jul 26, 2024
·
7 revisions
-
ParamsObject
是moke-kit
的一个基本单元,它由fx.Provide
封装,可以是一个Service
,Settings
,Client
,一般位于于服务的./pkg/{name}fx
文件中。 -
每个
ParamsObject
包含两个结构:-
XXXParams
用于其他ParamsObject
注入使用 -
XXXResult
用于当前ParamsObject
对外暴露指定的对象或者字段配置 -
XXXParams
和XXXResult
字段通过tag:name
对应
-
-
你可以在任何的
ParamsObject
中注入其他的ParamsObject
的XXXParams
就可以直接使用它们。前提是你需要在Main
容器 中初始化注入的ParamsObject
. -
moke-kit 提供了一些内置的
ParamsObject
,启动时会自动注入到程序中,你可以通过设置相关环境变量来控制它们的行为, 另外还提供了一些通用型的ParamsObject
,你可以根据需求选择性的注入到你的程序中。
Module
是一组高内聚的ParamsObject
的集合,它由fx.Module
封装,例如: 一个Service
的Module
它可能包含Service
、Settings
、Client
等ParamsObject
。
Main
是一个依赖注入的容器,它由fxmain.Main
封装,你可以在这里注入你需要的ParamsObject
或者 Module
来初始化他们。当然你可以定义多个不同的Main
容器来封装不同粒度的服务以适应不同的业务场景(适用于微服务开发)。比如:
- 封装一个注入所有服务的
Main
容器方便本地开发 - 按服务类型封装多个
Main
方便部署测试环境的单机多服务 - 每个服务封装单独一个
Main
只注入自己的Module
从而实现微服务化
- 创建自己的moke-kit项目