一个一直困扰我的设计问题

我遇到过这种情况,准确地说应该是经常遇到这种情况。我用程序模拟这个问题,一个Button类,聚合一个接口IEvent,也就是持有这个接口的引用,废话一句:)这个接口有好几种实现类子类,而子类依赖外部条件都各不相同,如A子类依赖的是Game类,B子类依赖的是Keyboard类,。。。而为了建立不同的子类,而又因为它们的依赖性不同的特点,必然在调用端出现对这些子类紧耦合的情况,造成这个原因的是没有一个可以统一管理它们的接口,而事实上也没法管理,基于对外部的特殊依赖性。而子类的变化,导致调用端也要跟着变化,我觉得是我忽略了些什么,请理解的朋友为我释疑!谢谢。

因为具体业务场景不是很清楚,对于这种情况,没有统一答案,可以参考桥模式处理方式试验看看。

要注意的是:接口只能将做什么和怎么做分离,只能达到结构上一种松耦合,因为你案例涉及事件,有关行为模式,所以,估计你还要引入行为类型的模式或事件模式才能实现真正全面松耦合。