目前,我有以下课程设计:
AnimalHandler(所有动物的基类)
TigerHandler 扩展了 AnimalHandler,LionHandler 扩展了 AnimalHandler,LeopardHandler 扩展了 AnimalHandler 等等。
TigerHandler、LionHandler、LeopardHandler 等“有”Tiger、Lion、Leopard 等。
现在的问题是:TigerHandler、LionHandler、LeopardHandler 等都是相同的(它们具有相同的方法等),只是它们分别处理 Tiger、Lion、Leopard 等类。因此,如果我需要一个名为 Cheetah 的新动物组,我只需复制任何 (Tiger|Lion|Leopard)Handler 并搜索并替换其“HAS A”类名称,如 Tiger、Lion、Leopard。
不是像上面那样复制/创建一个新的 CheetahHandler,有没有我可以使用的方法(设计)?比如,可以处理任何这些“HAS A”类(如 Tiger、Lion、Cheetah 等)的 GenericHandler。