2
是否有“只问您需要”的界面原则?
我已经成长为使用一种设计和使用接口的原理,该原理基本上说:“只问您需要什么”。 例如,如果我有一堆可以删除的类型,我将创建一个Deletable接口: interface Deletable { void delete(); } 然后,我可以编写一个通用类: class Deleter<T extends Deletable> { void delete(T t) { t.delete(); } } 在代码的其他地方,我总是要求最小的责任来满足客户代码的需求。因此,如果我只需要删除一个File,我仍然会要求一个Deletable,而不是一个File。 这个原则是常识并且已经有公认的名称吗?有争议吗?在教科书中讨论过吗?