中介者模式(Mediator Pattern)、桥接模式(Bridge Pattern) 和 策略模式(Strategy Pattern) 都是常见的设计模式,它们解决不同类型的问题。我们将通过 Swift 示例来说明它们的使用场景,并附上简洁的图示。
1. 中介者模式(Mediator Pattern)
目的:中介者模式通过引入一个中介者对象,来减少类与类之间的直接耦合,避免多对多的依赖关系,使得系统中的类之间通过中介者进行交互。
使用场景:
- 当多个类之间的交互复杂且不易管理时,通过引入中介者模式可以减少各个类之间的依赖关系。
- 适用于 UI 组件之间的交互,例如聊天系统中多个用户的消息传递,或多个模块之间的消息通知。
Swift 示例:
假设我们有一个聊天系统,多个用户之间互相发送消息,使用中介者来协调消息的传递:
// 中介者协议
protocol ChatMediator {
func sendMessage(_ message: String, from user: User)
func addUser(_ user: User)
}
// 用户类
class User {
let name: String
var mediator: ChatMediator?
init(name: String) {
self.name = name
}
func sendMessage(_ message: String) {
mediator?.sendMessage(message, from: self)
}
func receiveMessage(_ message: String) {
print("\(name) received message: \(message)")
}
}
// 中介者实现
class ChatRoom: ChatMediator {
private var users: [User] = []
func addUser(_ user: User) {
users.append(user)
user.mediator = self
}
func sendMessage(_ message: String, from user: User) {
for u in users wher

最低0.47元/天 解锁文章
932

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



