# BankDemo **Repository Path**: phusun/bank-demo ## Basic Information - **Project Name**: BankDemo - **Description**: 一款简易的模拟银行操作系统,使用SqlSugar ORM和Sqlite数据库,演示了基本的增删改查操作 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-31 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 银行管理系统演示项目 (Bank Demo) 一个基于 .NET 8.0 和 WinForms 的银行账户管理系统演示项目,展示了现代 C# 开发的最佳实践。 ## 🚀 项目特性 - **现代架构设计**:采用分层架构,清晰的职责分离 - **数据库操作**:使用 SqlSugar ORM 和 SQLite 数据库 - **依赖注入**:使用 Microsoft.Extensions.DependencyInjection - **结构化日志**:集成 Serilog 日志框架 - **多线程支持**:演示并发事务处理 - **完整的 CRUD 操作**:客户、账户、交易管理 - **现代 UI 设计**:统一的界面风格和用户体验 ## 🏗️ 项目结构 ``` BankDemo/ ├── src/ │ ├── BankDemo.WinForm/ # WinForms 用户界面层 │ ├── BankDemo.Core/ # 业务逻辑层 │ ├── BankDemo.Data/ # 数据访问层 │ ├── BankDemo.Models/ # 数据模型层 │ └── BankDemo.Infrastructure/ # 基础设施层 ├── BankDemo.sln # 解决方案文件 └── README.md # 项目说明 ``` ## 🛠️ 技术栈 - **.NET 8.0** - 目标框架 - **WinForms** - 桌面应用程序框架 - **SqlSugar 5.1.4.198** - ORM 框架 - **SQLite** - 轻量级数据库 - **Serilog** - 结构化日志框架 - **Microsoft.Extensions.DependencyInjection** - 依赖注入容器 ## 📋 功能模块 ### 客户管理 - 新增客户信息 - 编辑客户资料 - 删除客户记录 - 客户信息查询和搜索 ### 账户管理 - 开设银行账户 - 账户信息维护 - 账户状态管理 - 余额查询 ### 交易管理 - 存款操作 - 取款操作 - 转账功能 - 交易历史查询 - 并发交易演示 ### 统计报表 - 客户统计信息 - 账户余额统计 - 交易金额统计 - 数据可视化展示 ## 🚀 快速开始 ### 环境要求 - Windows 10/11 - .NET 8.0 SDK - Visual Studio 2022 或 Visual Studio Code ### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/phusun/bank-demo.git cd bank-demo ``` 2. **还原依赖包** ```bash dotnet restore ``` 3. **编译项目** ```bash dotnet build ``` 4. **运行应用程序** ```bash dotnet run --project src/BankDemo.WinForm ``` ## 📊 数据库 项目使用 SQLite 数据库,首次运行时会自动创建数据库文件 `BankDemo.db` 并初始化测试数据。 ### 数据表结构 - **Customers** - 客户信息表 - **Accounts** - 账户信息表 - **Transactions** - 交易记录表 ## 🔧 配置说明 ### 数据库连接 数据库连接字符串在 `Program.cs` 中配置: ```csharp var connectionString = @"Data Source=BankDemo.db;Cache=Shared"; ``` ### 日志配置 日志文件保存在 `logs/` 目录下,按日期滚动存储。 ## 🎯 设计模式 项目中使用的设计模式: - **Repository 模式** - 数据访问抽象 - **Service 模式** - 业务逻辑封装 - **依赖注入** - 控制反转 - **MDI 模式** - 多文档界面 ## 🧪 测试数据 系统启动时会自动创建测试数据: - 测试客户:张三、李四 - 测试账户:储蓄账户、支票账户 - 初始余额:不同金额的测试账户 ## 📝 开发说明 ### 代码规范 - 遵循 C# 命名约定 - 字符串字面量使用 `@` 前缀 - 异步方法使用 `async/await` 模式 - 完整的异常处理和日志记录 ### 架构特点 - 清晰的分层架构 - 松耦合设计 - 可扩展性良好 - 易于维护和测试 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request 来改进项目。 ## 📄 许可证 本项目仅用于学习和演示目的。 ## 📞 联系方式 如有问题或建议,请通过 Gitee Issues 联系。 --- **注意**:本项目仅用于演示和学习目的,不建议在生产环境中直接使用。