Swift设计模式之保护代理模式
发布时间:2020-12-14 06:59:40 所属栏目:百科 来源:网络整理
导读:转自 Swift设计模式 原文 Design-Patterns-In-Swift // 保护代理模式 // 百度百科:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 // 设计
转自
原文
// 保护代理模式
// 百度百科:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用
// 设计模式分类:结构型模式
/** * 电脑接口 */
protocol PC {
func connect(ip: String) -> Bool
}
/// 电脑实现
class MyPC: PC {
func connect(ip: String) -> Bool {
print("connect to (ip)")
return true
}
}
/// 代理实现
class MyProxy: PC {
var pc: MyPC!
init(pc: MyPC) {
self.pc = pc
}
func connect(ip: String) -> Bool {
if ip == "10.10.10.10" {
print("(ip) has been limited")
return false
} else {
pc.connect(ip)
return true
}
}
}
let pc = MyPC()
let proxy = MyProxy(pc: pc)
proxy.connect("1.2.3.4")
proxy.connect("10.10.10.10")
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |