Design Pattern
[Swift] 디자인패턴 - 브리지 패턴
iOSDEv
2024. 2. 26. 20:26
브리지 패턴
거대한 클래스나 밀접하게 관련된 클래스들을 분리해서 독립적으로 수정이나 확장 기능을 가능하게 하는
structural 디자인 패턴
1.Abstraction(추상화)- Phone :
사용자가 상호 작용할 수 있는 인터페이스를 정의
protocol Phone {
func makeCall()
func sendMessage()
}
2.Implementor(구현)- Software
구현은 추상화에서 정의한 인터페이스를 실제로 구현
protocol Software {
func run()
}
3.Refined Abstraction- SmartPhone
추상화를 구체적으로 구현하는 클래스
class SmartPhone: Phone {
var software: Software
init(software: Software) {
self.software = software
}
func makeCall() {
print("Making a call")
software.run()
}
func sendMessage() {
print("Sending a message")
software.run()
}
}
4.Concrete Implementor- Android, iOS
구현을 실제로 하는 클래스
class Android: Software {
func run() {
print("Running Android OS")
}
}
class iOS: Software {
func run() {
print("Running iOS")
}
}
let androidPhone = SmartPhone(software: Android())
androidPhone.makeCall()
let iPhone = SmartPhone(software: iOS())
iPhone.sendMessage()
Design Pattern in Swift - 야곰닷넷
Design Pattern in Swift 디자인 패턴 코스에 오신 것을 환영합니다! 이 코스는 야곰 아카데미 3기 수료생들과 […]
yagom.net
https://refactoring.guru/ko/design-patterns/bridge
브리지 패턴
/ 디자인 패턴들 / 구조 패턴 브리지 패턴 다음 이름으로도 불립니다: Bridge 의도 브리지는 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층구조(추상화 및 구현)로 나
refactoring.guru