# source-code-interpretation **Repository Path**: gechangwei2014/source-code-interpretation ## Basic Information - **Project Name**: source-code-interpretation - **Description**: mybatis源码解析 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-09 - **Last Updated**: 2026-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式示例项目 ## 项目结构 ``` design-patterns/ ├── pom.xml ├── README.md └── src/ └── main/ └── java/ └── com/ └── example/ └── designpatterns/ ├── DesignPatternsApplication.java ├── controller/ │ └── DesignPatternsController.java ├── singleton/ │ └── SingletonService.java ├── factorymethod/ │ ├── PaymentService.java │ ├── AlipayService.java │ ├── WechatPayService.java │ └── PaymentServiceFactory.java └── builder/ ├── User.java └── UserService.java ``` ## 实现的设计模式 1. **单例模式**:使用Spring的@Service注解实现 2. **工厂方法模式**:实现支付服务的多态创建 3. **建造者模式**:构建复杂的User对象 ## 如何运行 1. **构建项目** ```bash cd /Users/gary/sky/source-code-interpretation mvn clean package ``` 2. **运行应用** ```bash java -jar target/design-patterns-1.0-SNAPSHOT.jar ``` 3. **测试接口** - 测试单例模式: ```bash curl "http://localhost:8080/singleton" ``` 预期响应:`Hello from Singleton Service!` - 测试工厂方法模式(支付宝): ```bash curl -X POST "http://localhost:8080/factory-method/pay?type=alipay&amount=100.0" ``` 预期响应:`Paid 100.0 using Alipay` - 测试工厂方法模式(微信支付): ```bash curl -X POST "http://localhost:8080/factory-method/pay?type=wechat&amount=200.0" ``` 预期响应:`Paid 200.0 using WeChat Pay` - 测试建造者模式: ```bash curl -X POST "http://localhost:8080/builder/user?name=John&age=30&email=john@example.com&address=Beijing" ``` 预期响应:`Name: John, Age: 30, Email: john@example.com, Address: Beijing` ## 技术栈 - Spring Boot 2.7.15 - Java 1.8 - Maven ## 扩展说明 要添加新的设计模式,只需在 `com.example.designpatterns` 包下创建新的子包,并实现相应的模式。然后在 `DesignPatternsController` 中添加对应的测试方法。 例如,要添加策略模式,可以创建 `strategy` 包并实现相应的接口和实现类,然后在控制器中添加测试方法。