{"id":13713225,"url":"https://github.com/AlexanderGrom/go-patterns","last_synced_at":"2025-05-06T23:30:50.689Z","repository":{"id":36348383,"uuid":"40653136","full_name":"AlexanderGrom/go-patterns","owner":"AlexanderGrom","description":"Design patterns in Golang","archived":false,"fork":false,"pushed_at":"2021-04-15T17:42:30.000Z","size":103,"stargazers_count":1888,"open_issues_count":0,"forks_count":245,"subscribers_count":78,"default_branch":"master","last_synced_at":"2024-11-13T23:33:19.097Z","etag":null,"topics":["go","golang","patterns"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ant0ine/go-json-rest","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexanderGrom.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":"2015-08-13T10:33:26.000Z","updated_at":"2024-11-12T12:49:57.000Z","dependencies_parsed_at":"2022-08-14T12:30:19.863Z","dependency_job_id":null,"html_url":"https://github.com/AlexanderGrom/go-patterns","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/AlexanderGrom%2Fgo-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderGrom%2Fgo-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderGrom%2Fgo-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderGrom%2Fgo-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexanderGrom","download_url":"https://codeload.github.com/AlexanderGrom/go-patterns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252787199,"owners_count":21804216,"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":["go","golang","patterns"],"created_at":"2024-08-02T23:01:30.077Z","updated_at":"2025-05-06T23:30:46.957Z","avatar_url":"https://github.com/AlexanderGrom.png","language":"Go","funding_links":[],"categories":["Go","Repositories"],"sub_categories":[],"readme":"\n## Паттерны проектирования с примерами на Golang\n\nЭто коллекция из 22 популярных паттернов проектирования с примерами кода на языке Go и кратким описанием паттерна.\n\nВ кратких описаниях будут употребляться классические термины, такие как Класс, Объект, Абстрактный Класс. Применимо к языку Go, это Тип, Значение этого типа и Интерфейс (где это возможно).\n\nУмение правильно использовать шаблоны проектирования, так сказать, в нужном месте и в нужное время, помогут сохранить ваши нервные клетки.\n\n## Установка\n\nВы можете скачать этот репозиторий и запустить тесты\n\n```bash\n$ go get github.com/alexandergrom/go-patterns\n```\n\n## Паттерны\n\n### [Порождающие (Creational)](Creational)\n\n* [Абстрактная фабрика (Abstract Factory)](Creational/AbstractFactory)\n* [Строитель (Builder)](Creational/Builder)\n* [Фабричный метод (Factory Method)](Creational/FactoryMethod)\n* [Прототип (Prototype)](Creational/Prototype)\n* [Одиночка (Singleton)](Creational/Singleton)\n\n### [Структурные (Structural)](Structural)\n\n* [Адаптер (Adapter)](Structural/Adapter)\n* [Мост (Bridge)](Structural/Bridge)\n* [Компоновщик (Composite)](Structural/Composite)\n* [Декоратор (Decorator)](Structural/Decorator)\n* [Фасад (Facade)](Structural/Facade)\n* [Приспособленец (Flyweight)](Structural/Flyweight)\n* [Заместитель (Proxy)](Structural/Proxy)\n\n### [Поведенческие (Behavioral)](Behavioral)\n\n* [Цепочка ответственности (Chain Of Responsibility)](Behavioral/ChainOfResponsibility)\n* [Команда (Command)](Behavioral/Command)\n* [Итератор (Iterator)](Behavioral/Iterator)\n* [Посредник (Mediator)](Behavioral/Mediator)\n* [Хранитель (Memento)](Behavioral/Memento)\n* [Наблюдатель (Observer)](Behavioral/Observer)\n* [Состояние (State)](Behavioral/State)\n* [Стратегия (Strategy)](Behavioral/Strategy)\n* [Шаблонный метод (Template Method)](Behavioral/TemplateMethod)\n* [Посетитель (Visitor)](Behavioral/Visitor)\n\n## -~- THE END -~-\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderGrom%2Fgo-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexanderGrom%2Fgo-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderGrom%2Fgo-patterns/lists"}