在鲍勃大叔的经典ISP教程中,他介绍了一个定时安全门的案例研究。 Martin 建议将 TimerClient 与 Door 层次结构结合起来的两种可能设计:
对象适配器模式:
A类适配器模式:
我的问题是如何解释Class Adapter。谁是适配接口,谁是适配者,谁是适配者?我可以想到两个选项:
- Door是适配器,TimedDoor是适配器。这符合类适配器模式的结构,因为适配器继承自两个抽象类。
- TimedDoor 既是适配器又是被适配器。这个和Object adapter的方案是一致的,有一个“shortcut”,把adapter和adaptee结合在一起。
你能澄清一下吗?