# DesignPattern **Repository Path**: hopesy/DesignPattern ## Basic Information - **Project Name**: DesignPattern - **Description**: C#中设计模式的简单介绍 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-13 - **Last Updated**: 2025-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C# 设计模式展示项目 ## 项目简介 这是一个基于WPF的C#设计模式展示应用,旨在通过直观的界面和详细的示例代码,帮助开发者学习和理解各种设计模式。项目采用现代UI设计,提供了对创建型模式、结构型模式和行为型模式的全面覆盖。 ## 技术架构 - **框架**: .NET 9.0 - **UI框架**: WPF-UI 4.0 - **架构模式**: MVVM (Model-View-ViewModel) - **依赖注入**: Microsoft.Extensions.Hosting - **其他技术**: - AvalonEdit: 提供高级代码编辑和显示功能 - CommunityToolkit.Mvvm: 简化MVVM模式实现 ## 功能特性 - **分类导航**: 通过左侧导航菜单,可以按照创建型、结构型和行为型三大类别浏览各种设计模式 - **详细示例**: 每个设计模式都包含详细的说明、使用场景和带有注释的C#示例代码 - **代码高亮**: 使用AvalonEdit提供语法高亮,增强代码可读性 - **响应式UI**: 基于WPF-UI 4.0的现代界面设计,提供流畅的用户体验 - **滚动优化**: 针对代码查看进行了滚动体验优化 ## 包含的设计模式 ### 创建型模式 - 单例模式 (Singleton) - 工厂方法模式 (Factory Method) - 抽象工厂模式 (Abstract Factory) - 建造者模式 (Builder) - 原型模式 (Prototype) ### 结构型模式 - 适配器模式 (Adapter) - 桥接模式 (Bridge) - 组合模式 (Composite) - 装饰者模式 (Decorator) - 外观模式 (Facade) - 享元模式 (Flyweight) - 代理模式 (Proxy) ### 行为型模式 - 责任链模式 (Chain of Responsibility) - 命令模式 (Command) - 解释器模式 (Interpreter) - 迭代器模式 (Iterator) - 中介者模式 (Mediator) - 备忘录模式 (Memento) - 观察者模式 (Observer) - 状态模式 (State) - 策略模式 (Strategy) - 模板方法模式 (Template Method) - 访问者模式 (Visitor) ## 构建和运行 ### 环境要求 - .NET 9.0 SDK - Visual Studio 2022或更高版本(或Rider等支持.NET的IDE) ### 构建步骤 1. 克隆仓库 ``` git clone [your-repository-url] ``` 2. 使用Visual Studio或Rider打开解决方案文件 `DesignPattern.sln` 3. 恢复NuGet包 4. 构建并运行项目 ## 打包发布 ### 生成单一可执行文件 项目已配置为支持发布为单一可执行文件(Single-File Executable)。 1. 通过命令行打包: ``` cd DesignPattern dotnet publish -c Release ``` 2. 输出位置: ``` bin\Release\net9.0-windows\win-x64\publish\DesignPattern.exe ``` 3. 特性: - 自包含(Self-contained): 包含所有依赖和.NET运行时 - 单文件部署: 无需安装,直接运行 - 支持Windows x64平台 ## 使用指南 1. **首页**: 启动应用后,首页展示应用介绍和设计模式分类说明 2. **导航**: 通过左侧导航菜单选择设计模式分类,然后选择具体的设计模式 3. **查看代码**: 设计模式详情页面中,可以查看设计模式的说明和示例代码 4. **滚动**: 使用鼠标滚轮或滚动条浏览代码内容 ## 改进历史 ### 滚动优化 - 添加了鼠标滚轮事件的显式处理 - 直接操作AvalonEdit编辑器内部的ScrollViewer - 细调了滚动速度,使体验更加平滑 - 确保了Page的滚动设置不会干扰内部控件