/*
1.面向协议编程
面向协议编程Protocol Oriented Programming,POP是swift的一种编程范式,Apple于2015年WWDC提出,在swift的标准库中,能见到大量POP的影子。同时,swift也是一门面向对象的编程语言Object Oriented Programming,OOP,在swift开发中,OOP和POP是相辅相成的,任何一方并不能取代另一方,POP能弥补OOP设计上的不足.
2.回顾OOP
OOP的三大特性:封装、继承、多态。
继承的经典使用场合:当多个类(比如A、B、C类)具有很多共性时,可以将这些共性抽取到一个父类中(比如D类),最后A、B、C类继承D类。
3.OOP的不足
但有些问题,使用OOP并不能很好解决,比如如何将BVC、DVC的公共方法run抽取出来?
class BVC: UIViewController {
func run() {
print("run")
}
}
class DVC: UITableViewController {
func run() {
print("run")
}
}
基于OOP想到的一些解决方案?
1.将run方法放到另一个对象中,然后BVC、DVC拥有对象A的属性,多了一些额外的关系。
2.将run方法增加到UIViewController分类中,UIViewController会越来越臃肿,而且会影响
二十三、面向协议编程
最新推荐文章于 2024-04-17 17:40:33 发布