일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애니메이션
- Human interface guide
- map
- rxswift
- combine
- 스위프트
- Xcode
- 리팩토링
- MVVM
- swiftUI
- tableView
- ios
- RxCocoa
- 클린 코드
- uitableview
- Clean Code
- swift documentation
- UICollectionView
- 리펙토링
- 리펙터링
- Observable
- Refactoring
- HIG
- Protocol
- collectionview
- ribs
- SWIFT
- UITextView
- uiscrollview
- clean architecture
- Today
- Total
목록생성 패턴 (3)
김종권의 iOS 앱 개발 알아가기
팩토리 메소드 패턴 인스턴스 생성을 팩토리라는 곳에서 담당하며, 이를 사용하는 쪽(클라이언트 코드)에서는 관심사를 분리하는 것 만약 새로운 인스턴스를 생성해야할때 팩토리 메소드를 사용하면 클라이언트 코드에서는 인스턴스를 만드는 별도의 코드수정을 안해도 되는 패턴 팩토리 메소드 패턴 예시 예제 데이터 - 때에 따라서 Circle 혹은 Rectangle을 그려야하는 상황 class Circle { func draw() { print("draw circle") } } class Rectangle { func draw() { print("draw rectangle") } } class ViewController: UIViewController { override func viewDidLoad() { super...
빌더 패턴 인스턴스 생성 시, 필요한 값들에대해 단계적으로 개발자에게 인지를 시키며, 복잡한 생성로직을 사용하는쪽에서 모르게끔하는 방법 팩토리 패턴과 구분) 팩토리 패턴은 매개변수 모두 주입해야 사용 가능하지만, 빌더 패턴은 우선 인스턴스를 생성하고(인스턴스는 default value로 세팅된 상태) 필요한 프로퍼티의 값만 변경 빌더 패턴의 핵심은 확장성 House라는 클래스가 있을 때, 코드 여러곳에서 House라는 것을 생성 할 경우, 특정 매개변수들은 항상 동일한 값을 갖는 것이 존재할텐데, 이 값들을 사용하는쪽에서 매번 파라미터로 넘기는 코드가 있다면 지저분한 코드가 될 것 House 코드의 인스턴스를 생성할 때 단순히 House() 이렇게 만든 후, 필요한 값들은 setWindows(_:), s..
추상 팩토리 (Abstract Factory) 팩토리: 인스턴스를 생성하는 곳 추상: 일종의 protocol 추상 팩토리: 팩토리에서 인스턴스를 생성할 때, 인스턴스의 타입이 protocol으로 표현하여, 특정 구체적인 타입만을 리턴하는게 아닌 여러개의 타입을 리턴할 수 있게하여 확장성을 위해 사용 추상 팩토리 예시 SwiftUI의 NavigationView는 iOS 16.0 에서부터 deprecated가 되었으며, NavigationStack이 새로 생성 iOS 16 이하인 버전에서 적절히 사용방법? 추상 팩토리를 사용하여 해결이 가능 getNavigation() -> View라는 메소드를 정의하고 사용 ViewFactory의 getNavigation 메소드는 추상적인 뷰를 나타내는 some View ..