반응형
데이터 가공하는 일을 Interactor에서 작업을 하고 있었습니다.
그런데 해당작업을 하다보니 View까지 가는 로직에서 for문이 한 번 더도는 문제가 있었습니다.
가공하는 처리는 View에서 하는거보다 화면에 나타나기 전 로직에서 처리하는 것이 좋다고 생각은 했지만 만약 데이터가 무수히 많아질 경우에도 그게 맞는 것인가? 고민이 들었습니다.
그런데 해당 내용을 리뷰받던 도중 Factory를 내용을 알게 되었고 해당 내용을 학습하게 되었습니다.
Factory Pattern
객체 생성을 위한 런타임 인터페이스를 정의하는데 사용되는 디자인 패턴입니다. 다양한 타입의 객체를 쉽게 만들 수 있게 도와주기에 펙토리리라는 이름이 붙여진 것 같습니다.
protocol ContreateCreator {
static func createContreate(info: Model) -> ContreateModel
}
먼저 프로토콜을 선언해줍니다.
protocol ContreateModel {
var name: String
...
}
원하는 가공 상태의 데이터 구조를 잡아줍니다.
struct ContreateFactory: ContreateModel, ContreateCreator {
var name: String
...
static func createContreate(info: Model) -> ContreateModel {
return ContreateModel(name: ...)
}
}
이러한 구조로 Output 하는 View에서 해당 프로토콜을 채택하여 이용하실 수 있습니다.
반응형
'Develop > Swift' 카테고리의 다른 글
[Swift] cell indicator 색상 변경 (0) | 2022.05.09 |
---|---|
[iOS] 아키텍쳐 VIPER 패턴 (0) | 2022.05.09 |
[iOS] View Lifecycle (0) | 2022.05.08 |
[iOS] Xcode Code Snippet (0) | 2022.05.08 |
[Objective-C] message, location으로 매개변수 이름정하면 에러.. (0) | 2022.05.07 |