Swift 中的设计模式应用
1. 外观模式与代理模式
1.1 外观模式
在旅行预订的场景中,我们有预订酒店、航班和租车这几个操作。可以通过一个函数来实现这些操作的整合:
func bookTrip(hotel: Hotel, flight: Flight, rentalCar: RentalCar) {
HotelBooking.bookHotel(hotel: hotel)
FlightBooking.bookFlight(flight: flight)
RentalCarBooking.bookRentalCar(rentalCar: rentalCar)
}
这里可以引入 TravelFacade 类,它包含搜索三个 API 以及预订酒店、航班和租车的功能。通过使用 TravelFacade 类,我们无需直接访问各个单独的 API 就能进行搜索和预订操作。
一般来说,如果有多个 API 协同完成一个任务,就可以考虑使用外观模式。
1.2 代理模式
1.2.1 问题理解
代理模式主要用于解决两个问题:
- 在单个 API 和我们的代码之间创建抽象层,特别是处理远程服务时,这样可以在远程 API 更改时避免大量代码重构。
- 需要对 API 进行更改,但没有 API 的代码或者应用中其他地方已经依赖该 API。
1.2.2 解决方案
代理模式要
超级会员免费看
订阅专栏 解锁全文
1467

被折叠的 条评论
为什么被折叠?



