refactor: split PluginManager into DccPluginLoader and DccPluginManager#3205
refactor: split PluginManager into DccPluginLoader and DccPluginManager#3205caixr23 wants to merge 1 commit intolinuxdeepin:masterfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: caixr23 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
4f4570c to
cd0cf68
Compare
Extract plugin loading state machine from PluginData into DccPluginLoader class with signal-driven auto-advancing states. Simplify PluginManager (renamed to DccPluginManager) to only handle scheduling, thread pool and lifecycle management. Fix display module unnecessary delayed initialization and adjust root/engine deletion order in cleanup. 将PluginData中的插件加载逻辑提取为DccPluginLoader类,使用信号驱动状态机自动推进。 简化PluginManager(重命名为DccPluginManager)为调度协调角色,仅管理线程池和生命周期。 修复DisplayModule不必要的延迟初始化,调整清理时root/engine的删除顺序。 Log: 重构插件加载架构,分离加载逻辑与调度管理 Influence: 1. 控制中心各模块正常加载和显示;2. 插件隐藏/取消隐藏功能正常;3. 异步数据加载正常;4. 模块切换和页面导航正常
deepin pr auto review代码审查报告整体概述这次代码变更主要是将插件管理功能从 代码质量与架构改进1. 模块化设计改进优点:
建议:
2. 代码复用与一致性优点:
问题:
3. 错误处理与日志优点:
问题:
性能考虑优点:
问题:
安全问题问题:
其他问题
建议改进
总结这次重构在代码结构和模块化方面有显著改进,将插件管理功能拆分为更清晰的组件。但在错误处理、安全性和性能方面仍有一些改进空间。建议在后续版本中逐步解决这些问题,特别是安全相关的改进应该优先考虑。 |
Extract plugin loading state machine from PluginData into DccPluginLoader class with signal-driven auto-advancing states. Simplify PluginManager (renamed to DccPluginManager) to only handle scheduling, thread pool and lifecycle management. Fix display module unnecessary delayed initialization and adjust root/engine deletion order in cleanup.
将PluginData中的插件加载逻辑提取为DccPluginLoader类,使用信号驱动状态机自动推进。 简化PluginManager(重命名为DccPluginManager)为调度协调角色,仅管理线程池和生命周期。 修复DisplayModule不必要的延迟初始化,调整清理时root/engine的删除顺序。
Log: 重构插件加载架构,分离加载逻辑与调度管理
Influence: 1. 控制中心各模块正常加载和显示;2. 插件隐藏/取消隐藏功能正常;3. 异步数据加载正常;4. 模块切换和页面导航正常