{"id":15032444,"url":"https://github.com/fengjungle/designpattern","last_synced_at":"2025-10-09T22:47:36.558Z","repository":{"id":37902774,"uuid":"215804347","full_name":"FengJungle/DesignPattern","owner":"FengJungle","description":"Design pattern demo code","archived":false,"fork":false,"pushed_at":"2024-04-17T07:27:17.000Z","size":43507,"stargazers_count":1096,"open_issues_count":3,"forks_count":272,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-23T06:10:12.813Z","etag":null,"topics":["cpp","cpp11","design-patterns","designpattern"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FengJungle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-17T13:51:09.000Z","updated_at":"2025-05-19T01:29:23.000Z","dependencies_parsed_at":"2024-09-30T18:50:54.658Z","dependency_job_id":null,"html_url":"https://github.com/FengJungle/DesignPattern","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/FengJungle/DesignPattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FengJungle%2FDesignPattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FengJungle%2FDesignPattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FengJungle%2FDesignPattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FengJungle%2FDesignPattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FengJungle","download_url":"https://codeload.github.com/FengJungle/DesignPattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FengJungle%2FDesignPattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002115,"owners_count":26083307,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cpp","cpp11","design-patterns","designpattern"],"created_at":"2024-09-24T20:18:26.189Z","updated_at":"2025-10-09T22:47:36.527Z","avatar_url":"https://github.com/FengJungle.png","language":"C++","readme":"# DesignPattern\nJungle设计模式系列\n\n## How to compile\n### Windows\n```{.line-numbers}\nmkdir build\ncd build\ncmake -G \"MinGW Makefiles\" ../\nmake\n```\n### Linux\n```{.line-numbers}\nmkdir build\ncd build\ncmake ../\nmake\n```\n\n## 感谢\n感谢@ichdream, @sterben-01对本项目的贡献，也欢迎和支持更多coder提出修改和指正\n\n## 订正\n* 2021/10/28：GB2312 --\u003e UTF-8\n* 2021/09/07：merge @ichdream pull request，采用智能指针管理堆对象，引入makefile管理工程，修改文件编码格式\n* 2021/04/04：为虚基类添加虚析构函数，避免内存泄露  \n* 2020/11/29：解决内存泄露问题\n* 2023/09/24：添加CMake编译工程管理\n* 2024/04/17: update markdown note.\n\n\n## 目录\n\n代码资源：https://github.com/FengJungle/DesignPattern\n\n01.设计模式——设计模式概述\n\n02.设计模式（二）——UML类图介绍\n\n03.设计模式（三）——面向对象设计原则\n\n04.设计模式（四）——简单工厂模式\n\n05.设计模式（五）——工厂方法模式\n\n06.设计模式（六）——抽象工厂模式\n\n07.设计模式（七）——建造者模式\n\n08.设计模式（八）——原型模式\n\n09.设计模式（九）——单例模式\n\n10.设计模式（十）——适配器模式\n\n11.设计模式（十一）——桥接模式\n\n12.设计模式（十二）——组合模式\n\n13.设计模式（十三）——装饰模式\n\n14.设计模式（十四）——外观模式\n\n15.设计模式（十五）——享元模式\n\n16.设计模式（十六）——代理模式\n\n17.设计模式（十七）——职责链模式\n\n18.设计模式（十八）——命令模式\n\n19.设计模式（十九）——解释器模式\n\n20.设计模式（二十）——迭代器模式\n\n21.设计模式（二十一）——中介者模式\n\n22.设计模式（二十二）——备忘录模式\n\n23.设计模式（二十三）——观察者模式\n\n24.设计模式（二十四）——状态模式\n\n25.设计模式（二十五）——策略模式\n\n26.设计模式（二十六）——模板方法模式\n\n## 其他\n\n27.设计模式那么多！面试官会怎么问？  \n\n博客地址：https://zhuanlan.zhihu.com/p/415609134\n\n28.划重点：面试中单例模式的考点！（C++版本）\n\n博客地址：https://zhuanlan.zhihu.com/p/692662459\n\n29.new也可以创建对象，为什么需要工厂模式？\n\n博客地址：https://zhuanlan.zhihu.com/p/611234726\n\n30.Qt中的设计模式\n\n博客地址：https://blog.csdn.net/sinat_21107433/article/details/120936720  \n\n31.PImpl模式\n\n博客地址：https://zhuanlan.zhihu.com/p/692661653\n\n32.啊，如何遵循“低耦合”设计原则？\n\n博客地址：https://zhuanlan.zhihu.com/p/473171832\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffengjungle%2Fdesignpattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffengjungle%2Fdesignpattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffengjungle%2Fdesignpattern/lists"}