# desktop.boilerplate **Repository Path**: Vktun/desktop.boilerplate ## Basic Information - **Project Name**: desktop.boilerplate - **Description**: WPF prism 模块化快速开发模板。目标将基础的功能完善,然后快速开发个性化需求。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2025-08-21 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: WPF, PRism, 上位机, 客户端 ## README # desktop.boilerplate ## 介绍 WPF prism 模块化快速开发模板。目标将基础的功能完善,然后快速开发个性化需求。 ## 软件架构 软件架构说明:我将从架构设计思路、模块职责划分、二次开发入口三个核心维度进行解读,帮助开发者理解项目设计逻辑并明确二开方向。 一、架构设计思路:分层 + 模块化的 Prism 实践 项目整体遵循 “基础设施层→核心服务层→业务模块层→应用入口层” 的分层架构,同时通过 Prism 的模块化机制实现功能解耦,这种设计既保证了代码复用性,又为上位机项目预留了扩展空间。 ### 1. 核心设计原则 - 分离关注点:将 UI、业务逻辑、数据访问、工具类严格拆分,符合 MVVM 模式(View/ViewModel 分离在 prismModules 中体现)。 - 模块化组装:通过 Prism 的 IModule 接口(如 DbpAccountModule、DbpWorkshopModule)实现功能模块独立开发,支持按需加载(适配上位机项目中不同设备/场景的定制化需求)。 - 跨项目复用:通过 netstandard2.1 目标框架(如 Vk.Dbp.Core、Vk.Dbp.Utils)实现核心逻辑在多个应用(Dbp.Material.Forming、Dbp.Material.Mixing)中复用,避免重复开发。 二、模块职责划分:从 “基础支撑” 到 “业务实现” 结合文件夹结构,各模块的核心职责如下(按开发依赖顺序排列): | 层级 | 文件夹/项目 | 核心职责 | 上位机项目适配点 | |------------|---------------------------|--------------------------------------------------------------------------|----------------------------------------------------------------------------------| | 基础设施 | dbpframework | 定义框架核心接口(如 IDbpModule)、基础模型(用户、权限),是所有模块的依赖基础。 | 可扩展 IDbpModule 接口,增加设备通信模块的生命周期管理(如初始化/销毁串口连接)。 | | 工具类 | src/Vk.Dbp.Utils | 提供通用工具(加密算法 SM4、ID 生成器),独立于业务逻辑。 | 可新增 “数据校验工具”(如 CRC 校验)、“串口助手工具类”,适配工业设备通信需求。 | | 数据访问 | src/Vk.Dbp.Infrastructure | 实体类(Entities)和 ORM 配置(SqlSugarFluentService),负责数据持久化。 | 可扩展 Entities 增加设备信息表(如 Device、DeviceData),存储采集的设备数据。 | | 业务服务 | src/Vk.Dbp.Services | 封装业务逻辑(目前为空,需开发者实现),如权限校验、设备命令处理。 | 可实现 DeviceService,封装设备连接、数据采集、命令下发等核心业务。 | | Prism 模块 | prismModules | 基于 Prism 的 UI 模块,包含 View(界面)和 ViewModel(业务逻辑),如 WorkshopModule 的生产监控、报警记录。 | 可新增 DeviceMonitorModule,实现设备实时数据展示、曲线图表(集成 LiveCharts)。 | | 应用入口 | dbpApps、src/Vk.Dbp.Tools | 应用程序入口(App.xaml)、主窗口布局,负责加载 Prism 模块和启动框架。 | 可在主窗口中增加 “设备连接状态栏”、“实时日志面板”,适配上位机监控场景。 | 三、二次开发入口:开发者从哪里下手? 针对上位机项目的定制需求,推荐以下扩展路径: #### 1. 新增设备通信模块(核心需求) 步骤 1:在 prismModules 中新建 Vk.Dbp.DeviceModule,实现设备通信功能: - Views/DeviceControlView.xaml:设备连接配置界面(串口参数、IP 地址)。 - ViewModels/DeviceControlViewModel.cs:通过 IDeviceCommunicator 接口实现连接/断开逻辑(参考之前设计的 SerialPortCommunicator)。 步骤 2:在 src/Vk.Dbp.Services 中实现 DeviceService,封装数据采集逻辑。 #### 2. 扩展数据可视化功能 #### 3. 完善设备日志与报警 通过以上设计,项目既保持了 Prism 框架的灵活性,又通过分层和模块化降低了上位机项目的定制成本。开发者可基于现有结构,聚焦于设备通信、数据处理等业务逻辑,无需重复开发权限、日志等基础功能。 ## 安装教程 1. xxxx 2. xxxx 3. xxxx ## 使用说明 1. xxxx 2. xxxx 3. xxxx ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request