Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/googtech/design-patterns-in-java

:coffee: 📖 使用通俗易懂的案例,类图,及配套学习笔记来详解 Java 的二十三种设计模式 !
https://github.com/googtech/design-patterns-in-java

classdiagram examples java-design-patterns jdk11 learning-notes maven

Last synced: 9 days ago
JSON representation

:coffee: 📖 使用通俗易懂的案例,类图,及配套学习笔记来详解 Java 的二十三种设计模式 !

Awesome Lists containing this project

README

        

### 配套博客学习笔记 : https://goog.tech/blog/tags/design-and-pattern

> 参考书籍( 推荐 ) : `《Java设计模式 - 刘伟》`,`《图解设计模式 - [日]结城浩》`

### 创建型模式

:heavy_check_mark: `简单工厂模式( Simple Factor Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/06/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BSimple-Factory-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/simple_factory_pattern)

:heavy_check_mark: `工厂方法模式( Factory Method Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/05/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BFactory-Method-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/factory_method_pattern)

:heavy_check_mark: `抽象工厂模式( Abstract Factroy Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/07/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BAbstract-Factory-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/abstract_factory_pattern)

:heavy_check_mark: `建造者模式( Builder Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/17/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BBuilder-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/builder_pattern)

:heavy_check_mark: `单例模式( Singleton Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/06/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BSingleton-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/singleton_pattern)

:heavy_multiplication_x: `原型模式( Prototype Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

### 结构型模式

:heavy_check_mark: `适配器模式( Adapter Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/03/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BAdapter-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/adapter_pattern)

:heavy_check_mark: `代理模式( Proxy Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/25/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BProxy-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/froxy_pattern)

:heavy_check_mark: `组合模式( Composite Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/11/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BComposite-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/composite_pattern)

:heavy_check_mark: `装饰模式( Decorator Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/08/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BDecorator-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/decorator_pattern)

:heavy_check_mark: `外观模式( Facade Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/12/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BFacade-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/facade_pattern)

:heavy_multiplication_x: `桥接模式( Bridge Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `享元模式( Flyweight Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

### 行为型模式

:heavy_check_mark: `命令模式( Command Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/20/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BCommand-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/command_pattern)

:heavy_check_mark: `迭代器模式( Iterator Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/02/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BIterator-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/iterator_pattern)

:heavy_check_mark: `模板方法模式( Template Method Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/04/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BTemplate-Method-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/template_method_pattern)

:heavy_check_mark: `观察者模式( Observer Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/09/28/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BObserver-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/observer_pattern)

:heavy_multiplication_x: `中介者模式( Mediator Pattern )`
> :memo: [学习笔记](https://goog.tech/blog/2019/10/10/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8BMediator-Pattern/) ,[示例程序](https://github.com/GoogTech/design-patterns-in-java/tree/master/design-patterns/src/main/java/pers/huangyuhui/mediator_pattern)

:heavy_multiplication_x: `职责链模式( Chain of Responsibility Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `解释器模式( Interpreter Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `备忘录模式( Memento Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `状态模式( State Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `策略模式( Strategy Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)

:heavy_multiplication_x: `访问者模式( Visitor Pattern )`
> :memo: [学习笔记updating](demo) ,[示例程序updating](demo)