# DesignPattern
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
设计模式分为三种类型,共23种:
- **创建型模式**:[单例模式](https://github.com/youlookwhat/DesignPattern#3-单例设计模式)、[抽象工厂模式](https://github.com/youlookwhat/DesignPattern#2-工厂模式)、[建造者模式](https://github.com/youlookwhat/DesignPattern#11-建造者模式)、[工厂模式](https://github.com/youlookwhat/DesignPattern#2-工厂模式)、[原型模式](https://github.com/youlookwhat/DesignPattern#12-原型模式)。
- **结构型模式**:[适配器模式](https://github.com/youlookwhat/DesignPattern#5-适配器模式)、[桥接模式](https://github.com/youlookwhat/DesignPattern#15-桥接模式)、[装饰模式](https://github.com/youlookwhat/DesignPattern#7-装饰者模式)、[组合模式](https://github.com/youlookwhat/DesignPattern#16-组合模式)、[外观模式](https://github.com/youlookwhat/DesignPattern#8-外观模式)、[享元模式](https://github.com/youlookwhat/DesignPattern#13-享元模式)、[代理模式](https://github.com/youlookwhat/DesignPattern#14-代理模式)。
- **行为型模式**:[模版方法模式](https://github.com/youlookwhat/DesignPattern#9-模板方法模式)、[命令模式](https://github.com/youlookwhat/DesignPattern#6-命令模式)、[迭代器模式](https://github.com/youlookwhat/DesignPattern#17-迭代器模式)、[观察者模式](https://github.com/youlookwhat/DesignPattern#1-观察者模式)、[中介者模式](https://github.com/youlookwhat/DesignPattern#18-中介者模式)、[备忘录模式](https://github.com/youlookwhat/DesignPattern#19-备忘录模式)、[解释器模式](https://github.com/youlookwhat/DesignPattern#20-解释器模式)、[状态模式](https://github.com/youlookwhat/DesignPattern#10-状态模式)、[策略模式](https://github.com/youlookwhat/DesignPattern#4-策略模式)、[责任链模式](https://github.com/youlookwhat/DesignPattern#21-责任链模式)、[访问者模式](https://github.com/youlookwhat/DesignPattern#22-访问者模式)。
> 参照Hongyang、菜鸟教程等处文章所写。如有错误欢迎指正,如有侵权,请联系我删除。
----
## Blog Catalogue:
- 1.[ 设计模式 观察者模式(Observer Pattern) 以微信公众服务为例](http://blog.csdn.net/lmj623565791/article/details/24179699)
- 2.[ 设计模式 工厂模式(Factory Pattern) 从卖肉夹馍说起](http://blog.csdn.net/lmj623565791/article/details/24460585)
- 3.[ 设计模式 单例设计模式(Singleton Pattern) 完全解析](http://blog.csdn.net/dmk877/article/details/50311791)
- 4.[ 设计模式 策略模式(Strategy Pattern) 以角色游戏为背景](http://blog.csdn.net/lmj623565791/article/details/24116745)
- 5.[ 设计模式 适配器模式(Adapter Pattern) 以手机充电器为例](http://blog.csdn.net/lmj623565791/article/details/25833393)
- 6.[ 设计模式 命令模式(Command Pattern) 管理智能家电](http://blog.csdn.net/lmj623565791/article/details/24602057)
- 7.[ 设计模式 装饰者模式(Decorator Pattern) 带你重回传奇世界](http://blog.csdn.net/lmj623565791/article/details/24269409)
- 8.[ 设计模式 外观模式(Facade Pattern) 一键电影模式](http://blog.csdn.net/lmj623565791/article/details/25837275)
- 9.[ 设计模式 模版方法模式(Template Method Pattern) 展现程序员的一天](http://blog.csdn.net/lmj623565791/article/details/26276093)
- 10.[ 设计模式 状态模式(State Pattern) 以自动售货机为例](http://blog.csdn.net/lmj623565791/article/details/26350617)
- 11.[ 设计模式 建造者模式(Builder Pattern) 以造汽车买汽车为例](https://wiki.jikexueyuan.com/project/java-design-pattern/builder-pattern.html)
- 12.[ 设计模式 原型模式(Prototype Pattern) 以获取多种形状为例](https://www.runoob.com/design-pattern/prototype-pattern.html)
- 13.[ 设计模式 享元模式(Flyweight Pattern) 以随机获取多种形状为例](https://www.runoob.com/design-pattern/flyweight-pattern.html)
- 14.[ 设计模式 代理模式(Proxy Pattern) 以获取磁盘中的图片为例](https://www.runoob.com/design-pattern/proxy-pattern.html)
- 15.[ 设计模式 桥接模式(Bridge Pattern) 以画不同颜色的圆为例](https://www.runoob.com/design-pattern/bridge-pattern.html)
- 16.[ 设计模式 组合模式(Composite Pattern) 以创建和打印员工的层次结构为例](https://www.runoob.com/design-pattern/composite-pattern.html)
- 17.[ 设计模式 迭代器模式(Iterator Pattern) 以使用迭代器打印名字为例](https://www.runoob.com/design-pattern/iterator-pattern.html)
- 18.[ 设计模式 中介者模式(Mediator Pattern) 以公共聊天室为例](https://www.runoob.com/design-pattern/mediator-pattern.html)
- 19.[ 设计模式 备忘录模式(Memento Pattern) 以使用备忘录为例](https://www.runoob.com/design-pattern/memento-pattern.html)
- 20.[ 设计模式 解释器模式(Interpreter Pattern) 以解释一句话为例](https://www.runoob.com/design-pattern/interpreter-pattern.html)
- 21.[ 设计模式 责任链模式(Chain of Responsibility Pattern) 以Android Studio中打印日志为例](https://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html)
- 22.[ 设计模式 访问者模式(Visitor Pattern) 以显示计算机的组成部分为例](https://www.runoob.com/design-pattern/visitor-pattern.html)
## Source Code
> - [Observer](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/observer)
> - [Factory](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/factory)
> - [Singleton](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/singleton)
> - [Strategy](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/strategy)
> - [Adapter](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/adapter)
> - [Command](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/command)
> - [Decorator](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/decorator)
> - [Facade](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/facade)
> - [Template Method](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/templatemethod)
> - [State](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/state)
> - [Builder](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/builder)
> - [Prototype](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/prototype)
> - [Flyweight](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/flyweight)
> - [Proxy](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/proxy)
> - [Bridge](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/bridge)
> - [Composite](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/composite)
> - [Iterator](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/iterator)
> - [Mediator](https://github.com/youlookwhat/DesignPattern/tree/master/app/src/main/java/com/example/jingbin/designpattern/mediator)
> - [Memento](https://github.com/youlookwhat/DesignPatt
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
### Java 23种设计模式全归纳 #### 资源概述 本资源包汇总了Java中23种经典设计模式的详细介绍和使用示例,旨在帮助开发者系统性地学习和掌握设计模式在软件开发中的应用。这些设计模式分为三大类:创建型模式、结构型模式和行为型模式,每种模式都包括定义、适用场景、优缺点、示例代码及实际应用案例。资源内容详尽,适合Java开发者、软件架构师以及编程爱好者参考和学习。 #### 内容介绍 1. **创建型模式** - **单例模式(Singleton Pattern)**:确保一个类只有一个实例,并提供一个全局访问点。 - **示例**:数据库连接池 - **工厂方法模式(Factory Method Pattern)**:定义一个创建对象的接口,让子类决定实例化哪一个类。 - **示例**:日志记录器 - **抽象工厂模式(Abstract Factory Pattern)**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 - **示例**:跨平台UI组件库 - **建造者模式(Builder
资源推荐
资源详情
资源评论
收起资源包目录
Java 23种设计模式全归纳 (237个子文件)
gradlew.bat 2KB
designpattern 2KB
.gitignore 163B
build.gradle 2KB
build.gradle 597B
settings.gradle 15B
gradlew 5KB
gradle-wrapper.jar 52KB
AppConstant.java 8KB
MainActivity.java 5KB
CommandActivity.java 4KB
FactoryActivity.java 4KB
ObserverActivity.java 4KB
StateActivity.java 4KB
ChainOfResponsibilityActivity.java 4KB
VendingMachine.java 4KB
EMTagHandler.java 3KB
DecoratorActivity.java 3KB
FacadeActivity.java 3KB
TemplateMethodActivity.java 3KB
CompositeActivity.java 3KB
InterpreterActivity.java 3KB
PrototypeActivity.java 3KB
BuilderActivity.java 3KB
MementoActivity.java 3KB
SingletonLanHan.java 3KB
ProxyActivity.java 2KB
MediatorActivity.java 2KB
FlyweightActivity.java 2KB
SingletonActivity.java 2KB
StrategyActivity.java 2KB
VisitorActivity.java 2KB
VendingMachineBetter.java 2KB
Worker.java 2KB
IteratorActivity.java 2KB
BridgeActivity.java 2KB
AdapterActivity.java 2KB
Role.java 2KB
SingletonEHan.java 2KB
HomeTheaterFacade.java 1KB
WinnerState.java 1KB
HasMoneyState.java 1KB
XianRoujiaMoStore.java 1KB
XianRoujiaMoTeSeStore.java 1KB
ShapeCache.java 1KB
RoujiaMoStore.java 1KB
Observer1.java 1KB
Employee.java 1KB
ObjectFor3D.java 1KB
SoldState.java 1KB
NoMoneyState.java 987B
ComputerPartDisplayVisitor.java 943B
RoujiaMoStore.java 929B
RoujiaMoStore.java 918B
RoujiaMo.java 874B
NameRepository.java 858B
SingletonIn.java 853B
XianSimpleRoujiaMoFactory.java 845B
AbstractLogger.java 840B
SoldOutState.java 832B
XianSimpleRoujiaMoTeSeFactory.java 788B
ExampleInstrumentedTest.java 780B
SubjectFor3d.java 780B
ObserverUser2.java 731B
Circle.java 728B
RoujiaMoYLFactory.java 727B
ObserverUser1.java 726B
SimpleRoujiaMoFactory.java 713B
ControlPanel.java 711B
YellowGemDecorator.java 693B
Shape.java 693B
State.java 689B
RedGemDecorator.java 687B
BlueGemDecorator.java 687B
AndExpression.java 674B
OrExpression.java 672B
Computer.java 663B
ShapeFactory.java 661B
RoujiaMo.java 658B
RoleB.java 609B
ITWorker.java 604B
ComputerPartVisitor.java 601B
SingletonEnum.java 596B
RoleA.java 567B
RealImage.java 558B
V5PowerAdapter.java 534B
ConsoleLogger.java 527B
Originator.java 519B
Projector.java 513B
TerminalExpression.java 502B
ProxyImage.java 495B
QuickCommand.java 487B
PatternApplication.java 482B
Product.java 479B
SubjectForSSQ.java 478B
Circle.java 470B
Rectangle.java 469B
Subject.java 469B
ErrorLogger.java 468B
User.java 462B
共 237 条
- 1
- 2
- 3
资源评论
编程资源宝库
- 粉丝: 3837
- 资源: 1966
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功