designpattern2 제네릭과 프로토콜을 활용하여 타입을 확장시키기 제네릭 & 프로토콜제네릭과 프로토콜을 결합하면 타입 안전성과 유연성을 모두 얻을 수 있습니다. 이는 RIBs 아키텍처나 고급 Swift 라이브러리에서 흔히 볼 수 있는 패턴입니다.import UIKit// 걷기 행동 프로토콜protocol Walking { func walk()}// 잡기 행동 프로토콜protocol Catchable { func grab()}// 영장류 정의 프로토콜protocol Primate: AnyObject { var feet: Walking { get } }// 제네릭 제약조건 추가class Walker: Primate { var feet: Walking init(walkingImplementation: WalkingType) { .. 2025. 3. 6. if else가 많을 때 사용할 수 있는 패턴 개발을 하다 보면 어떠한 조건을 체크하는 경우가 있는데, 조건이 너무 많으면, if 문이 길어질 수 있습니다. if문은 처리하는 속도는 빠르지만 길어질 경우 가독성이 떨어지고, 유지보수가 어려운 점이 있습니다. 아래 예시는 새로운 타입이 추가될 때마다 else if문으로 추가해야 합니다. func checkMediaType(type: String) -> String { var result = "" if type == "Picture" { result = "This media type is Picture" } else if type == "Video" { result = "This media type is Video" } else if type == "Text" { result = "This media t.. 2023. 4. 21. 이전 1 다음