Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift设计模式之保护代理模式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

转自 Swift设计模式 原文 Design-Patterns-In-Swift // 保护代理模式 // 百度百科:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 // 设计模式分类:结构型模式 /** * 电脑接口 */ protocol PC { func connect(ip

转自

原文

// 保护代理模式
// 百度百科:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用
// 设计模式分类:结构型模式

/** * 电脑接口 */
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")

大佬总结

以上是大佬教程为你收集整理的Swift设计模式之保护代理模式全部内容,希望文章能够帮你解决Swift设计模式之保护代理模式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。