设计模式

Swift -- 面向协议编程

2022-02-09  本文已影响0人  冰棍儿好烫嘴

面向协议编程(Protocol Oriented Programming,简称POP)

@frozen public struct Int : FixedWidthInteger, SignedInteger//Int的源码定义

同时,Swift也是一门面向对象的编程语言(Object Oriented Programming,简称OOP)

POP能弥补OOP一些设计上的不足

OOP的三大特性:封装、继承、多态

但有些问题,使用OOP并不能很好解决,比如:如何将BVC、DVC的公共方法run抽取出来?

class BVC: UIViewController {
    func run(){
        print("run")
    }
}

class DVC: UITableViewController {
    func run(){
        print("run")
    }
}
protocol Runnable {
    func run()
}
extension Runnable{
    func run()  {
        print("run")
    }
}
class BVC: UIViewController,Runnable {}
class DVC: UITableViewController,Runnable{}

POP的注意点:

上一篇 下一篇

猜你喜欢

热点阅读