{"id":16099363,"url":"https://github.com/googtech/design-patterns-in-java","last_synced_at":"2025-03-17T17:31:19.651Z","repository":{"id":45192488,"uuid":"209997774","full_name":"GoogTech/design-patterns-in-java","owner":"GoogTech","description":":coffee: 📖 使用通俗易懂的案例，类图，及配套学习笔记来详解 Java 的二十三种设计模式 !","archived":false,"fork":false,"pushed_at":"2022-01-02T07:14:11.000Z","size":102,"stargazers_count":39,"open_issues_count":0,"forks_count":13,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-28T02:23:15.266Z","etag":null,"topics":["classdiagram","examples","java-design-patterns","jdk11","learning-notes","maven"],"latest_commit_sha":null,"homepage":"https://goog.tech/blog/tags/design-and-pattern/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-21T14:18:46.000Z","updated_at":"2024-11-29T07:53:30.000Z","dependencies_parsed_at":"2022-08-30T08:31:08.959Z","dependency_job_id":null,"html_url":"https://github.com/GoogTech/design-patterns-in-java","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogTech%2Fdesign-patterns-in-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogTech%2Fdesign-patterns-in-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogTech%2Fdesign-patterns-in-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogTech%2Fdesign-patterns-in-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogTech","download_url":"https://codeload.github.com/GoogTech/design-patterns-in-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243872435,"owners_count":20361480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classdiagram","examples","java-design-patterns","jdk11","learning-notes","maven"],"created_at":"2024-10-09T18:27:02.026Z","updated_at":"2025-03-17T17:31:19.152Z","avatar_url":"https://github.com/GoogTech.png","language":"Java","readme":"### 配套博客学习笔记 : https://goog.tech/blog/tags/design-and-pattern\n\n\u003e 参考书籍（ 推荐 ） : `《Java设计模式 - 刘伟》`，`《图解设计模式 - [日]结城浩》`\n\n\n\n### 创建型模式\n\n:heavy_check_mark: `简单工厂模式( Simple Factor Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `工厂方法模式( Factory Method Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `抽象工厂模式( Abstract Factroy Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `建造者模式( Builder Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `单例模式( Singleton Pattern )`\n\u003e :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)\n\n:heavy_multiplication_x: `原型模式( Prototype Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n\n\n### 结构型模式\n\n:heavy_check_mark: `适配器模式( Adapter Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `代理模式( Proxy Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `组合模式( Composite Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `装饰模式( Decorator Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `外观模式( Facade Pattern )`\n\u003e :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)\n\n:heavy_multiplication_x: `桥接模式( Bridge Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `享元模式( Flyweight Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n\n\n### 行为型模式\n\n:heavy_check_mark: `命令模式( Command Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `迭代器模式( Iterator Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `模板方法模式( Template Method Pattern )`\n\u003e :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)\n\n:heavy_check_mark: `观察者模式( Observer Pattern )`\n\u003e :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)\n\n:heavy_multiplication_x: `中介者模式( Mediator Pattern )`\n\u003e :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)\n\n:heavy_multiplication_x: `职责链模式( Chain of Responsibility Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `解释器模式( Interpreter Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `备忘录模式( Memento Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `状态模式( State Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `策略模式( Strategy Pattern )` \n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n\n:heavy_multiplication_x: `访问者模式( Visitor Pattern )`\n\u003e :memo: [学习笔记updating](demo) ，[示例程序updating](demo)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogtech%2Fdesign-patterns-in-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogtech%2Fdesign-patterns-in-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogtech%2Fdesign-patterns-in-java/lists"}