# WpfClient **Repository Path**: jackgong/wpf-client ## Basic Information - **Project Name**: WpfClient - **Description**: 这是一个WPF的框架,符合SLOLID原则和最佳实践的分层框架 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-18 - **Last Updated**: 2025-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WpfClient ## 介绍 这是一个使用WPF构建的客户端应用程序,展示了现代.NET应用程序的典型架构。该应用程序包含以下主要功能: 1. 用户管理:提供用户创建、删除和管理功能 2. 套接字通信:实现基于TCP协议的服务器-客户端通信机制 3. 响应式UI:使用MVVM模式和命令模式实现用户界面交互 4. 日志记录:包含详细的日志记录和诊断功能 ## 技术栈 - .NET 9.0 - WPF (Windows Presentation Foundation) - MVVM (Model-View-ViewModel) 模式 - Entity Framework Core (用于数据访问) - MediatR (用于消息传递) - Microsoft.Extensions.DependencyInjection (用于依赖注入) - Serilog (用于日志记录) ## 项目结构 ``` WpfClient/ ├── src/ │ ├── WpfClient.Application/ # 应用层:命令、视图模型、业务逻辑 │ ├── WpfClient.Core/ # 核心层:实体、接口、协议定义 │ ├── WpfClient.Infrastructure/ # 基础设施层:具体实现、数据库上下文、存储库 │ ├── WpfClient.Shared/ # 共享代码:扩展方法、工具类 │ └── WpfClient/ # WPF客户端:UI组件、App.xaml └── tests/ ├── WpfClient.UnitTests/ # 单元测试 └── WpfClient.IntegrationTests/ # 集成测试 ``` ## 主要功能 ### 用户管理 - 创建、删除和管理用户 - 显示用户列表和统计信息 - 使用Entity Framework Core进行持久化 ### 套接字通信 - 启动和停止TCP服务器 - 发送预定义命令(02_01, 03_01)到客户端 - 发送自定义数据到连接的客户端 - 实时通信日志记录和监控 ## 使用说明 1. 克隆仓库 2. 还原NuGet包 3. 构建解决方案 4. 运行WpfClient项目 5. 使用主界面中的按钮来管理用户和启动通信功能 ## 贡献指南 请遵循以下原则: - 保持MVVM模式的分离 - 使用依赖注入管理服务 - 在WpfClient.Application层实现应用程序逻辑 - 在WpfClient.Infrastructure层实现具体的技术实现 - 在WpfClient.Core层定义核心模型和接口 ## 许可证 本项目使用MIT许可证。详情请查看LICENSE文件。