私は最近、ドメイン オブジェクトの構成を使用する代わりに、コレクション オブジェクトを拡張する実験を行っています。たとえば、これを使用します。
public class Path extends ArrayList<PathElement> {
}
public static void main(String args[]) {
Path path = new Path();
path.add(new PathElement());
}
それ以外の:
public class Path {
private List<PathElement> pathElements = new ArrayList<PathElement>();
/* getter/setter*/
}
public static void main(String args[]) {
Path path = new Path();
path.getPathElements().add(new PathElement());
}
これは一般的/許容可能な慣行ですか? 欠点やより良い代替手段はありますか? 私が見ることができる 1 つの欠点は、実装を簡単に変更できないことです。たとえば、ArrayList の代わりに LinkedList を使用することはできません。