-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ApplicationLifecycle 名称是否要调整 #80
Comments
因为会涉及到用户界面,这些地方我的思路比较偏执的期望是能做到一致,implement Lifecycle,然后使用 LifecycleXXX decorator,这个是我的思路。 |
这个 interface 只是放了生命周期用的 Hook 名,Application Lifecycle 没有歧义,Lifecycle 太短了感觉有可能产生歧义 |
我的提议: 当然这个提议的合理性,有待进一步讨论,这里不再展开。 只是用这个来举例,顺着这个思路,叫ApplicationLifecycle反而局限了,可以调整为Lifecycle: export interface Lifecycle {
configWillLoad?: HookFunction;
configDidLoad?: HookFunction;
didLoad?: HookFunction;
willReady?: HookFunction;
didReady?: HookFunction;
beforeClose?: HookFunction;
} |
建议保留 |
@noahziheng @JerrysShan 你们的定义里是 Lifecycle 是 Application 的生命周期,这么理解对吗?我其实理解的 Lifecycle 是应用的声明周期,但这个应用是指一个完整的“应用”,不是 Application,我有点不知道怎么表述了,在我的思路里应用和 Application 不是一个中英文的概念。我举个例子,但有可能不恰当 😂 当我们想感知插件的加载与加载完成时,其实会提供类似于 pluginWillLoad 这种,它是应用的声明周期,但不一定是 Application 的。 |
@DuanPengfei 那我顺着你这例子,是不是
综上,反而 |
嗯嗯,你成功的给我讲明白了,接受 ApplicationLifecycle 这个 interface。 |
可以叫Lifecycle, 多增加一个属性 target: export interface Lifecycle {
target?: string
configWillLoad?: HookFunction;
configDidLoad?: HookFunction;
didLoad?: HookFunction;
willReady?: HookFunction;
didReady?: HookFunction;
beforeClose?: HookFunction;
} |
@wengeezhang 现在的 willReady/didReady/beforeClose 不是普适的,仅针对 Application 设计 |
综上,使用 ApplicationLifecycle 这个 interface 能够做到定义明确,不过在提到的 plugin lifecycle 情况下,decorator 可能要考虑加参数。都能做到的情况下,保持当前实现不变,暂时不改动,后续如果最佳实践出来确实有更合理的,再看情况。 |
背景
#52 将extension改为了lifecycle。
目前artus/core中types有一个interface ApplicationLifecycle,是以Application开头的。
提议
为了和#52的结论保持一致,@DuanPengfei 提议 是否要把ApplicationLifecycle改为 Lifecycle。
The text was updated successfully, but these errors were encountered: