August 2021
Intermediate to advanced
450 pages
4h 46m
Chinese
接口隔离原则(ISP)指出,拥有许多小型接口要比拥有一些大型接口更好。
在此示例中,我们将创建一个接口,其中包含Mammal的多个行为,比如eat()和makeNoise():
与其为Mammal创建单个接口,不如为所有的行为创建单独的接口:
实际上,我们正在将Mammal类的行为解耦。因此,我们不是通过继承(实际上是接口)创建单个Mammal实体,而是转向基于组合的设计,类似上一章中所采用的策略。
简而言之,通过使用这种方法,我们可以构建具有组合部分的Mammal,而不是被迫利用单个Mammal类中包含的行为。例如,假设有人发现一只Mammal不吃东西,而是通过皮肤吸收营养,如果我们从包含eat()行为的单个Mammal类继承,则新的哺乳动物将不需要这种行为。但是,如果我们将所有行为分成独立的单个接口,则可以按照其自身呈现的方式来构建每种哺乳动物。
Read now
Unlock full access