是否正确是,实施这一单一大界面的多数类别,如果不是全部的话,都有许多方法,要么没有做什么,要么放弃例外?
如果说情况如此,而且你有着大量不同关切的大班级,那么你就会痛苦地重温,但我认为,现在处理这种令人振奋的办法是最佳的办法——你所建议的替代办法只是把你推向不同的坏情况,把痛苦推向微薄的利润。
可以做的一件事是将多个接口应用到单一类别(多数语文),这样,你就能够创建新的接口,取代与多个较小的接口的单一大型接口:
public class BigNastyClass : IBigNastyInterface
{
}
同意:
public class BigNastyClass : ISmallerInferface1, ISmallerInterface2 ...
{
}
如果你没有执行整个接口的庞大班级,我将按班级处理这一问题。 对于实施这一大接口的每个类别,只为这一类别引进一个新的具体接口。
这样,你就只需要重新调整其法典,使之在某个时候有一个等级。
例如,司机将来自:
public class DriverProvider : IBigNastyInterface
{
}
:
public class DriverProvider : IDriverProvider
{
}
现在,你简单地排除了所有未使用的方法,这些方法不仅满足了大的接口,而且确定了司机必须采用的任何方法。