Tag: 原理

iOS-SOLID原则第4页-接口隔离原则

接口隔离原理说: “许多特定于客户端的接口比一个通用接口要好。” 在iOS中,该主题中的Interface可以转换为Protocol。 它说,许多协议要比具有一个通用目的的一个大协议(或类,结构或枚举)更好。 客户特定协议将是某些客户只需要的协议。 假设您有两个课程: 猫与人 : 类Human {func work(){} func sleep(){} func GiveFood()-> Food {return Food()} //其他功能} class Cat {var owner:Human var foodBowl:[Food] = [] func requestFood(){print(“ Meow,gimme food”)let foodScoop = self.owner.feedPet()self.foodBowl.append(foodScoop)} func eat(){self.foodBowl.removeAll()} init(owner:Human){self.owner = owner}} 如您所见, Cat是Human的客户。 它消耗人类的数据。 猫不能告诉它的主人去工作,也不需要知道那件事。 在此示例中,所有者需要的只是食物。 这就是隔离的来历。 正如我们所说,猫只在乎他的食物。 Cat没有理由暴露于类似于work()或sleep()之类的人类功能。 所以我们可以声明一个PetFoodProvider协议: 协议FoodProvider {func feedPet()-> Food} 因此,我们的客户( Cat )将仅使用(并将暴露给它)所需的东西: […]