{"id":20270975,"url":"https://github.com/swiftdo/design-patterns","last_synced_at":"2025-10-29T18:05:50.603Z","repository":{"id":40492973,"uuid":"350938224","full_name":"swiftdo/design-patterns","owner":"swiftdo","description":"设计模式，经典样例","archived":false,"fork":false,"pushed_at":"2022-07-11T09:30:03.000Z","size":112,"stargazers_count":37,"open_issues_count":3,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T04:30:41.638Z","etag":null,"topics":["design-patterns","swift","swiftdesignpatterns"],"latest_commit_sha":null,"homepage":"https://swiftdo.github.io/design-patterns","language":"Swift","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/swiftdo.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}},"created_at":"2021-03-24T03:48:13.000Z","updated_at":"2024-09-10T14:14:19.000Z","dependencies_parsed_at":"2022-07-11T21:31:08.171Z","dependency_job_id":null,"html_url":"https://github.com/swiftdo/design-patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/swiftdo/design-patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fdesign-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fdesign-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fdesign-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fdesign-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swiftdo","download_url":"https://codeload.github.com/swiftdo/design-patterns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fdesign-patterns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281670147,"owners_count":26541424,"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-29T02:00:06.901Z","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":["design-patterns","swift","swiftdesignpatterns"],"created_at":"2024-11-14T12:35:22.932Z","updated_at":"2025-10-29T18:05:50.576Z","avatar_url":"https://github.com/swiftdo.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 设计模式(Swift)\n\n设计模式程序员必备的基础知识，但是没有点年份，掌握也不是这么容易，所以例子就非常重要。概念是抽象的，例子是具象的。具象的东西，记忆和理解都会容易些。\n\n项目的初衷就是收集比较经典合适的案例，来帮助理解设计模式，这样大家在写代码，看别人的代码也会容易一些。非常希望您的参与，我们一起维护。\n\n**支持线上浏览**：[https://oldbird.run/design-patterns](https://oldbird.run/design-patterns/#/)\n\n![](http://blog.oldbird.run/mweb/16169324651038.jpg)\n\n\n关注官方公众号 **OldBirds**\n\n\u003cimg src=\"http://blog.oldbird.run/mweb/wechat-logo.png\" width=\"420\" /\u003e\n\n## 基础\n\n- [x] 类间的关系\n- [x] 设计原则\n\n## 创建型\n\n这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式，而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。\n\n- [x] 工厂模式\n- [x] 建造者模式\n- [x] 原型模式\n- [x] 单例模式\n\n## 结构型\n\n这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。\n\n- [x] 适配器模式\n- [x] 桥接模式\n- [x] 过滤器模式\n- [x] 组合模式\n- [x] 装饰器模式\n- [x] 外观模式\n- [x] 享元模式\n- [x] 代理模式\n\n## 行为型\n\n这些设计模式特别关注对象之间的通信。\n\n- [x] 责任链模式\n- [x] 命令模式\n- [x] 解释器模式\n- [x] 迭代器模式\n- [x] 中介者模式\n- [x] 备忘录模式\n- [x] 观察者模式\n- [x] 状态模式\n- [x] 空对象模式\n- [x] 策略模式\n- [x] 模板模式\n- [x] 访问者模式\n\n## 交流\n\n如果您有更好的案例，不防提 issue，或者提 PR。当然如果文字有不当之处也欢迎指出。\n\n如果您想加入我们的 Swift 微信交流群，可以关注微信公众号 **OldBirds**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftdo%2Fdesign-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswiftdo%2Fdesign-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftdo%2Fdesign-patterns/lists"}