minsson / design-patterns-in-swift

디자인 패턴 22종류를 공부하고, 예시 코드를 작성하고, 토론하기 위한 스터디입니다.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎨 디자인 패턴 스터디



🔥 스터디 요약


🔥 스터디 주제

1주차 2주차 3주차 4주차
Singleton Prototype Adapter Abstract Factory
Builder Factory Method Bridge Template Method

🔥 스터디 인원


민쏜

Derrick Kim

Kiwi

Judy

unchain

BaekGom

웡빙

현이

🔥 학습 교재

REFACTORING GURU - Design Patterns의 디자인 패턴 22종류


🔥 스터디 사이클

0) 스터디 시작 전 (1회)

1) 매주 수요일 스터디 이후 (+첫 주)

  • 매주 랜덤으로 4인1팀으로 두 팀을 편성하며, A팀과 B팀으로 나눕니다.
  • A팀과 B팀은 각기 다른 디자인 패턴을 할당 받습니다.

2) 다음 스터디 시간까지

  • 자신의 조에 배정된 디자인 패턴을 학습합니다.
    • 교재의 개념과 코드를 보고, 필요하다면 다른 자료도 찾아보시면 좋습니다.
  • 이 주제를 처음 접하는 사람에게 설명할 수 있을 정도로 준비합니다.
    • 개념 설명에 필요한 자료를 준비하면 좋습니다.
    • 마크다운 형식으로 작성하면 좋습니다.
  • 교재, 또는 블로그 등을 참고하지 않고, 자신만의 예제 코드를 작성합니다.
    • 개념을 더 명확히 이해하고, 다른 곳에 활용하기 위함입니다.
    • 예제를 위한 미니 앱을 만들면 좋지만, 콘솔앱으로도 대체 가능합니다.
  • 깃허브 스터디 레포지토리, 해당 주제의 폴더에 들어가 자신의 폴더를 만들고 커밋 규칙에 맞추어 커밋 및 PR 합니다. PR은 main 브랜치로 보냅니다.
    • 레포지토리의 폴더는 두 종류로 정리하려고 합니다.
      • 주제별 폴더에 커밋: 1. Singleton과 같은 자신이 맡은 주제별 폴더 내에 Singleton-Minsson 형식으로 프로젝트를 만들고, 코드 작성 후 커밋합니다. 개념 설명을 위한 자료도 이 프로젝트 폴더 안에 넣어주시면 됩니다. 디자인 패턴과 닉네임 모두 영어로 작성합니다. 닉네임의 경우 필요하다면 실명을 사용해도 됩니다.
      • 개인별 폴더에 커밋: 처음 커밋할 경우, 개인별 프로젝트를 DesignPatterns-Minsson의 형식으로 만듭니다. 닉네임은 위의 주제별 폴더에서 사용한 것과 통일합니다. 본인이 지금까지 작성한 개념과 코드를 이 프로젝트 폴더 내에 차곡차곡 쌓아나갑니다.
    • 스터디 전까지 이 과정을 완료 후 PR 보냅니다. 필요하다면 스터디 이후에도 수정할 수 있습니다.
  • 위의 모든 과정에서 질문이 있다면 디스코드의 디자인 스터디 방에서 질문합니다.

3) 스터디 (19시 - 20시 30분)

  • 각 팀은 디스코드 채널에 모여, 한 주 동안 공부한 개념과 코드를 공유하고, 토의하는 시간을 갖습니다.
  • 이 시간은 상대 팀의 팀원에게 개념과 코드를 설명하기 전, 같은 주제를 공부한 팀원들에게 검증 받는 시간입니다. 질의응답을 통해 모자랐던 개념과, 코드의 오류를 수정하는 시간이기도 합니다.
  • 다른 주제를 공부했던 상대 팀의 팀원에게 1:1로 설명할 수 있도록 다 함께 대화를 나누고, 개념을 정리하고, 설명에 필요한 자료도 보완합니다.

4) 스터디 (20시 30분 - 21시 30분)

  • 상대팀의 누군가와 랜덤 매칭 되어, 둘만의 대화방으로 이동합니다.
  • 각자 공부한 디자인패턴의 개념 및 예제 코드를 자세히 설명해줍니다.

5) 스터디 (21시 30분 - 22시)

  • 10명이 모두 모여 질의응답 및 토의 시간을 갖습니다.
  • 다음 주에 공부할 주제를 선정합니다.
  • 스터디 진행 방향 개선이 필요한 경우 논의합니다.

🔥 커밋 규칙

1) Commit Header, Body

  • Header: [디자인 패턴 이름] 활용 컨셉
  • Body: 설명

2) 커밋 예시

  • 터미널 사용 시
git commit -m "[Mediator Pattern] 체크박스와 텍스트필드" -m "설명"
  • Fork 사용 시


🔥 개념 기록을 위한 개인별 마크다운 파일 작성법

# 디자인 패턴 이름

## 간단한 개념 설명

## 자신이 작성한 코드에 대한 설명

About

디자인 패턴 22종류를 공부하고, 예시 코드를 작성하고, 토론하기 위한 스터디입니다.

License:MIT License


Languages

Language:Swift 100.0%