interfaceは細かく軽く作るべきなんだろか
public interface Foo { public String foo(); } public interface Bar { public String bar(); } public interface Baz { public String baz(); } public class FooBar implements Foo,Bar { //... } public class FooBaz implements Foo,Baz { //... }
極端にやると、structural subtyping と言える?あ、引数で受けるときに
public void hoge(Foo:Bar foobar) { //.... }
とか出来ないからキツいか。
"structural subtyping"については「http://igeta.cocolog-nifty.com/blog/2008/05/subtyping.html」を参照。
どちらにしろ、java.sql.ResultSetみたいにでかく重厚に作るのは多分ダメだ。
同時に、interfaceの継承も重厚化するから避けるべき?