*协议
Swift 是一门面向协议 (POP) 开发的语言
Swift 的核心是面向协议编程
面向协议的编程的核心是抽象(Abstraction)和简化(Simplicity)
协议的高级使用是协议的延展
协议(protocol) + 结构体(struct) > 类(class)
面向对象与面向协议比较
- 面向对象是一个很古老的软件开发模式,通过类来实现
- 面向协议是苹果在 swift 中主推的,通过协议和结构体,可以代替类
- Swift 中的很多对象都改成了结构体和协议
- 并不是所有的类都可以被协议+结构体替代,但大多数是可以被替换的
- 面向协议使代码更加灵活,类似于组件化开发,符合工厂方法模式