iOS 캠프 TIL - 2021.04.26 월
Updated:
리나 & 라자냐 퀴즈
찌루루 & 꼬말 퀴즈
디자인 패턴 - 야곰 강의
디자인패턴을 강의를 처음 들었을 때랑 지금의 느낌이 어떤지
- 소대
- 뷰컨트롤러가 많은 프로젝트였는데 먼 뷰컨트롤러에 직접 접근하려니 코드가 너무 길어져서 이건 뭔가 아니라고 생각했었는데 라자냐가 델리게이트 패턴을 적용하면 될거라고 해서 적용했더니 코드가 엄청 간결해졌다
디자인 패턴의 분류
- 생성
- Factory Method Pattern
- Prototype Pattern
- 구조
- 행위
Create Patterns
- Factory Method Pattern
- 인스턴스를 만드는 클래스를 추상화 하고플 때
- 런타임에 상황에 맞는 인스턴스를 받아야 하는데 받는 입장에서는 신경쓸 필요 없음
- Swift Standard Libaray에도 많이 쓰이는 패턴
- Prototype Pattern
- 테이블뷰 셀이 프토토타입 패턴을 사용 (스토리보드에서보면 프로토타입 셀 이라고 적혀있음)
- Singleton Pattern
Structural Patterns
- Adapter Pattern
- Decorator Pattern
- 케이크 방에 초콜릿을 바르면 초콜릿 케이크, 생크림 바르면 생크림 케이크가 되는 되는 느낌
- 구체 타입 맥북이 있다면 ssd용량이나 cpu를 업그레이드 하듯이 데코레이트 하는 것
- Facade Pattern
- 겉으로 드러나는건 최소화하고 내부에서 처리해서 반환해줌
- 겉(인터페이스)만 드러나게하고 나머지(내부 코드)는 감추는 방식
- 라이브러리에 많이 사용
행위 패턴
- Proxy Pattern
- 가상 객체를 사용해서 로직단의 흐름 제어
- 무거운 영상을 바로 편집하는게 아니라 가벼운 가상본(Proxy)을 편집하고, 결과적으로 원본을 편집하게 함
- Iterator Pattern
- Observer Pattern
- Strategy Pattern
- 전략을 세워두고 런타임에 알고리즘을 선택할 수 있게하는 패턴
참고할 링크
- https://refactoring.guru/design-patterns
- https://github.com/ochococo/Design-Patterns-In-Swift
- https://www.raywenderlich.com/477-design-patterns-on-ios-using-swift-part-1-2
Leave a comment