我注意到以下代码模式,同时通过我的项目3级图书馆的一些来源浏览:
public interface MyInterface {
public static class MyClass1 implements MyInterface { ... }
public static class MyClass2 implements MyInterface { ... }
public static class MyClass3 implements MyInterface { ... }
}
或者说:
public class MyBaseClass {
public static class MyClass1 extends MyBaseClass { ... }
public static class MyClass2 extends MyBaseClass { ... }
public static class MyClass3 extends MyBaseClass { ... }
}
现实生活实例:
- SwingX:
org.jdesktop.swingx.decorator.HighlightPredicate
(Source) - Substance:
org.pushingpixels.substance.api.renderers.SubstanceDefaultTableCellRenderer
(Source)
具有类似守则结构的优势是什么?
我的第一项想法是“乞讨”,但同样的事情也可以使用老式包裹来实现。 因此,在使用公共内部班而不是一揽子计划时,情况如何好?