안녕하세요 린생입니다. 오늘은 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
- 아키텍처 MVC
- 디자인패턴
- RxSwift
- 아이스아메리카노
- 린생
- UI/UX
- 블루보틀
- 아키텍처패턴
- MVC
- 럭키드로우내안의레버
- 린생이야기
- 아키텍처 설계
- ios
- 가난한아빠
- iOS MVC 패턴
- launchSreen
- delegate
- Splash
- iOS디자인
- 커피
- MVC 패턴
- MVC패턴
- SWIFT
- Delegate패턴
- 드로우앤드류
- 런처스크린
- delegate pattern
- 럭키드로우
- 부자아빠가난한아빠
- IOS개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |