リスト TableColumns< T > を使用して Dart にテーブルを表示する基本クラス Table< T > を構築しようとしています。Java では、これは、リーフ クラスが次のように単純に見える匿名クラス パターンで行われます。
class PartTable extends Table< Part > {
// Column 1: Part Number
addColumn( new TableColumn<Part>("Part Number") {
String get(Part part) { part.getNumber().toString() }
void set(Part part, String number) {
part.setNumber(number);
}
});
// Column 2: Part Description
addColumn( new TableColumn<Part>("Part Description") {
String get(Part part) { part.getDescription().toString() }
void set(Part part, String desc) {
part.setDescription(desc);
}
});
}
上記の Java Anonymous Class パターンの代わりになる Dart デザイン パターンを提案できる人はいますか? 基本的な考え方は、匿名の TableColumn クラスの抽象メソッド (get や set など) が Table コンストラクターの匿名クラスによってオーバーライドされ、パーツの属性を操作するためのビュー固有のオーバーライドを提供することです。したがって、テーブルには任意の数の列を含めることができ、テーブル セルの各パーツ属性に対してビュー固有の CRUD 動作を提供できます。