需求场景:例如客户需要一部手机,手机工厂提供手机。客户只需要提出需要手机的型号,商家就会根据需求给客户提供该手机。客户不必管这部手机是怎么制造的,只管提出自己的需求厂家就会给你这部手机。
编码设计:
①.首先创建一个手机基类(手机的模板,不具有任何功能)。
②.创建一个协议文件(协议方法为@required类型的),声明手机应该具备的基本功能(例如:打电话、发短信)。
③.把该协议文件导入到手机基类中并遵循该协议,实现协议方法。
做到这步我们已经有了有基本功能的手机模型蓝图。
④.创建一个手机工厂类,写一个类方法,根据不同的参数来返回不同的手机(不同的参数可以用一个枚举来定义)。
第②步里的协议文件的目的是为了统一使用的接口,也是为了提示用户客户端需要遵循协议的(必须实现),也充当了类似类别的作用。