|
|
2 months ago | |
|---|---|---|
| src | 2 months ago | |
| .gitignore | 2 months ago | |
| README.md | 2 months ago | |
| pom.xml | 2 months ago | |
| 设计模式之禅(第2版)(jb51.net).pdf | 2 months ago |
这是一个用于学习与演示常见设计模式的 Java 示例集合(基于 Maven / Java 21)。
目录结构(重要包)
cn.qinys.learn.creational.factory - 工厂模式示例(Factory Method)cn.qinys.learn.creational.builder - 建造者模式示例(Builder)cn.qinys.learn.creational.singleton - 单例模式示例(Singleton)
cn.qinys.learn.creational.prototype - 原型模式示例(Prototype)快速开始
编译并运行所有测试:
Set-Location -Path 'D:\learn\design-pattern'
mvn test
打包(跳过测试):
mvn -DskipTests package
运行演示(示例):
运行工厂方法示例:
java -cp target\classes;target\test-classes cn.qinys.learn.creational.factory.FactoryDemo
运行建造者示例:
java -cp target\classes;target\test-classes cn.qinys.learn.creational.builder.BuilderDemo
运行原型示例:
java -cp target\classes;target\test-classes cn.qinys.learn.creational.prototype.PrototypeDemo
关于示例
factory 包中的示例展示了工厂方法模式:抽象 Creator 定义 factoryMethod(),由具体 Creator 返回不同的 Product 实现。builder 包中的示例展示了建造者模式:Director 负责组装步骤,Builder/ConcreteBuilder 提供构建细节,最后得到 Computer 对象。
prototype 包中的示例展示了原型模式:通过 Prototype 接口与 ConcretePrototype 的拷贝构造函数实现对象克隆,PrototypeRegistry 提供按需克隆功能并演示深拷贝行为。扩展与贡献
如需添加更多模式(例如抽象工厂、适配器、策略等),请在 src/main/java/cn/qinys/learn/ 下添加新的包并提交 PR。测试请放入 src/test/java 对应包中。
如果需要,我可以:
祝学习愉快!