안녕하세요 린생입니다. 오늘은 디자인 패턴 중 Delegate 패턴의 대하여 알아보겠습니다. iOS를 공부하시는 분 들이라면 delegate 패턴은 익숙하고 많이 들어 보았을 것 같습니다. 먼저 delegate의 사전적인 의미를 알아보면 '위임하다.’ 로 해석을 할 수 있습니다. 정말 사전 적 의미와 동일하게 delegate 패턴은 위임하는 패턴입니다. 1. Delegate pattern을 사용하는 이유 애플에서는 delegate 패턴을 매우 많이 볼 수 있습니다. Delegate을 사용하는 이유는 Controller에게 역할을 위임하기 위해서 입니다. 이게 무슨 말이냐? 이런 생각을 할 수 있을 거 같습니다. apple에서는 MVC 패턴을 권장하고 있습니다. MVC 패턴은 Model - View - C..
안녕하세요 린생입니다. 오늘은 SingleTon Pattern의 대하여 알아보겠습니다. 싱글톤이라 쉽게 생각해서 어플리케이션이 실행을 하여 단 한번만 메모리에 할당 된 후 그 메모리의 인스턴스를 할당 받아 사용하는 디자인 패턴입니다. 우리가 싱글톤을 사용하는 이유는 여러가지 있지만 대표적인 이유를 적어보겠습니다. 1. 메모리 낭비를 방지 할 수 있음 2. 데이터를 공유 할 수 있다. 즉 인스턴스가 절대적으로 한개만 존재하는 것을 보증하고 싶을 경우 사용을 합니다. 우리가 프로그래밍을 하면서 대표적으로 하나의 인스턴스가 존재해야 하는 경우는 무엇이 있을까요? 바로 network 객체 입니다. 네트워크는 하나의 세션으로 유지하다 연결이 이상시 알려주어야 합니다. 그러면 코드를 작성해 보겠습니다. 코드 작성 ..
빌더 패턴는 복잡한 객체의 생성을 그 객체의 표현과 분리하여, 생성 절차는 항상 동일하되 결과는 다르게 만드는 패턴입니다. 우리가 객체를 만들다보면 생성 당시의 많은 요소를 한번에 넣어주는 요소 하나를 일력을 받아서 생성을 하는 방식 입니다. Swift에서는 Builder pattern을 잘 사용하지는 않지만 우리는 코드 베이스를 View 객체를 만들다 보면 속성 값을 지정 해 주어야 합니다. 그 속성을 넣어주는 방식은 주로 다음 과 같을 거 같습니다. let labelView: UILabel = { let label = UILabel() label.text = "린생" label.textColor = .black label.font = .systemFont(sizeOf: 20) return label ..
안녕하세요. 린생입니다. 오늘은 Swift Design Pattern 중 Observer Pattern을 소개하겠습니다. 번역을 하자면 Observer -> 관찰자라고 번역 할 수 있습니다. 왜 관찰자 일까요?? Observer Pattern은 해당 프로퍼티가 변경 되는걸 관찰하고 있다가 변경 되는 시점에서 update가 수행 되게 되는 형태를 말합니다. 쉽게 설명을 하자면 제가 지금 한 대상을 보고 있다가 그 대상이 어떻게 하는지를 보고 있다가 그 대상이 변화가 일어나면 제가 행동을 하는 것입니다. 우리가 코드를 만들다 보면 특정 값이 변경이 발생 할 때 다른 연쇄적으로 그 값을 참조 하고 하고 있는 값들이 자동 적으로 변경이 이루어 져야 될 때 사용 하면 유용한 패턴입니다. 그러면 코드로 생성 해 볼..
안녕하세요. 린생입니다. 오늘은 디자인 패턴 중에 팩토리 패턴을 소개를 할까 합니다. 영어로는 factory patten이라고 하는데 왜 factory이라고 이름을 지었을까요? 우리가 어떤 제품을 공장에 요청 할 때 공장에서는 어떤 요구가 들어올지 알 수 가 없습니다. 즉 공장에서는 제품을 만들지만 요청에 따라서 A 제품이 나올수도 있고 B 제품이 나올수가 있습니다. 하지만 공장의 생산 라인이 달라지는 것은 아닙니다. 제품이 달라지는 거죠 즉 위의 설명중 제품 : 객체 공장 : protocol 생산라인 : protocol을 준수하는 메소드 이렇게 정의 할 수 있습니다. protocol을 먼저 선언해 줍니다. protocol Factoryable { func makeProduct() -> String } ..
- Total
- Today
- Yesterday
- delegate
- RxSwift
- 블루보틀
- 드로우앤드류
- ios
- 디자인패턴
- 린생
- iOS디자인
- 부자아빠가난한아빠
- UI/UX
- 아키텍처 설계
- launchSreen
- 가난한아빠
- Delegate패턴
- SWIFT
- 아키텍처 MVC
- 린생이야기
- 럭키드로우
- Splash
- iOS MVC 패턴
- 런처스크린
- 럭키드로우내안의레버
- IOS개발자
- MVC
- MVC패턴
- 아이스아메리카노
- 아키텍처패턴
- MVC 패턴
- 커피
- delegate pattern
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |