{"id":19379847,"url":"https://github.com/joonas-yoon/design-patterns-java","last_synced_at":"2026-05-18T14:04:10.175Z","repository":{"id":171579461,"uuid":"648110468","full_name":"joonas-yoon/design-patterns-java","owner":"joonas-yoon","description":"사례와 함께 자바 코드로 구현해보는 디자인 패턴","archived":false,"fork":false,"pushed_at":"2023-06-10T08:44:11.000Z","size":63,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T16:37:33.220Z","etag":null,"topics":["design-patterns","example-code","gof-patterns","java","junit5","maven","practice"],"latest_commit_sha":null,"homepage":"","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/joonas-yoon.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-01T08:25:57.000Z","updated_at":"2023-06-22T05:44:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a94e82a-58cd-47f5-9e8c-362b3d98eaa0","html_url":"https://github.com/joonas-yoon/design-patterns-java","commit_stats":null,"previous_names":["joonas-yoon/design-patterns-java"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joonas-yoon/design-patterns-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joonas-yoon%2Fdesign-patterns-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joonas-yoon%2Fdesign-patterns-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joonas-yoon%2Fdesign-patterns-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joonas-yoon%2Fdesign-patterns-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joonas-yoon","download_url":"https://codeload.github.com/joonas-yoon/design-patterns-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joonas-yoon%2Fdesign-patterns-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284893576,"owners_count":27080532,"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-11-17T02:00:06.431Z","response_time":55,"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","example-code","gof-patterns","java","junit5","maven","practice"],"created_at":"2024-11-10T09:11:36.715Z","updated_at":"2025-11-17T14:03:26.477Z","avatar_url":"https://github.com/joonas-yoon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 디자인 패턴 자바\n\n\u003cimg align=\"right\" alt=\"Unit Test\" src=\"https://github.com/joonas-yoon/design-patterns-java/actions/workflows/junit.yml/badge.svg\" /\u003e\n\nJava로 구현해보는 디자인 패턴\n\n\u003e 디자인 패턴은 모든 문제를 해결할 수 없다. 참고할 뿐이다.\n\n\u003e 아래 목록은 알파벳순으로 정렬되었으며, **자주 사용되는 패턴은 굵게** 표시하였습니다.\n\n### 생성 패턴 (Creational Design Patterns)\n\n\u003e 주로 생성 방식이나 절차를 결정하는 것과 관련된 패턴\n\n- [x] **[Abstract Factory Pattern](src/main/designpatterns/abstractfactory)**\n- [ ] Builder Pattern\n- [x] **[Factory Method Pattern](src/main/designpatterns/factorymethod)**\n- [ ] Prototype Pattern\n- [x] **[Singleton Pattern](src/main/designpatterns/singleton)**\n\n### 구조 패턴 (Structural Design Patterns)\n\n\u003e 구조를 유연하고 효율적으로 유지하거나, 더 큰 구조로 조립하는 등의 패턴\n\n- [ ] **Adapter Pattern**\n- [ ] Bridge Pattern\n- [ ] **Composite Pattern**\n- [x] **[Decorator Pattern](src/main/designpatterns/decorator)**\n- [ ] **Facade Pattern**\n- [ ] Flyweight Pattern\n- [ ] **Proxy Pattern**\n\n### 행동 패턴 (Behavioral Design Patterns)\n\n\u003e 클래스 간의 상호 작용이나 역할(책임)에 대해 다루는 패턴\n\n- [ ] Chain of Responsibility Pattern\n- [ ] Command Pattern\n- [ ] Interpreter Pattern\n- [ ] **Iterator Pattern**\n- [ ] Mediator Pattern\n- [ ] Memento Pattern\n- [x] **[Observer Pattern](src/main/designpatterns/observer)**\n- [ ] **State Pattern**\n- [x] **[Strategy Pattern](src/main/designpatterns/strategy)**\n- [ ] **Template Method Pattern**\n- [ ] Visitor Pattern\n\n### 그 외 (Miscellaneous Design Patterns)\n\n1. [ ] DAO Design Pattern\n2. [ ] Dependency Injection Pattern\n3. [ ] MVC Pattern\n\n## References\n\n* https://github.com/RefactoringGuru/design-patterns-java\n* https://refactoring.guru/ko/design-patterns\n* https://www.digitalocean.com/community/tutorials/java-design-patterns-example-tutorial\n* https://www.oreilly.com/library/view/head-first-design/0596007124/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoonas-yoon%2Fdesign-patterns-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoonas-yoon%2Fdesign-patterns-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoonas-yoon%2Fdesign-patterns-java/lists"}