我有一个不再在我的代码中的任何地方引用的文件.我正在寻找哪些提交删除了对此文件的引用.(我不知道用于引用它的文件).
我知道git log -S会找到添加或删除此字符串的提交.我正在寻找的是能够将此搜索限制为仅删除的那些行.这可能吗?
我正在学习 Java 和设计模式,并且正在尝试了解何时使用接口和抽象类。我想知道在策略设计模式中,为什么最好使用行为/算法子类的接口而不是抽象超类?
是否只是因为不需要抽象类,因为每个行为/算法子类都有自己的实现,因此抽象超类只会提供不会使用的额外功能?
抽象类是否意味着将来如果需要的话有额外的可能性使用这个额外的功能,例如向抽象超类添加一个方法,如果需要的话,该方法由行为/算法子类共享。有什么理由说这是一个坏主意吗?
还是还有其他原因?