仓库结构
三个主要目录各自负责什么,改动应该落在哪一层。
Eggix-Rainmeter-Widgets/ 皮肤本体与设置程序
HomeSettings/ 组件设置程序(WPF)
RainmeterIntegration/ Rainmeter 对接层:读配置、发命令、同步状态
UseHelp/ 帮助程序(文档与故障排查入口)
分层约定
- 皮肤只负责布局与绘制,不写业务判断;
- RainmeterIntegration 是唯一直接调用 Rainmeter 命令行 /
Rainmeter.dll的地方; - HomeSettings 负责读写用户配置,不直接改皮肤文件;
- UseHelp 是纯展示,可以随时删掉不影响主流程。
这样分层的好处是:换皮不碰逻辑,换逻辑不碰皮皮。
改动放哪
| 想改的东西 | 应该动的目录 |
|---|---|
| 布局、配色、字体 | Eggix-Rainmeter-Widgets/ 下的皮肤 |
| 新增一个可配置项 | HomeSettings/ + 配置模型 |
| 让组件响应新的 Rainmeter 变量 | RainmeterIntegration/ |
| 帮助文案 | UseHelp/ |
不要做的事
- 不要在皮肤里写死绝对路径;
- 不要在两个目录里同时实现同一段逻辑(历史上出现过,后来合并了);
- 不要引入需要管理员权限的运行时操作。