私はJavaFXのを使用して、次のsimplyfied構造を実装している:次の構造は設計パターンと考えられますか?
App.javaを
public void start(Stage primaryStage) {
MyConnector myconnector = new MyConnector();
LeftPane leftPane = new LeftPane(myconnector);
RightPane rightPane = new RightPane(myconnector);
}
MyConnector.java
public class MyConnector {
private Button button; // getters, setters
private Field field; // getters, setters
}
LeftPane.java
public LeftPane extends FlowPane {
private Button button; // getters, setters
private MyConnector myConnector; // in constructor, getters, setters
public LeftPane(myConnector) {
this.button = new Button();
this.myConnector = myConnector;
this.myConnector.setField(this.button); // add to the MyConnector
}
an event on action {
this.myConnector.getField().setEditable(false);
this.button.setDisable(true);
}
}
RightPane.java
public RightPane extends FlowPane {
private TextField field; // getters, setters
private MyConnector myConnector; // in constructor, getters, setters
public LeftPane(myConnector) {
this.field = new TextField();
this.myConnector = myConnector;
this.myConnector.setField(this.field); // add to the MyConnector
}
an event on action {
this.myConnector.getButton().setDisable(true);
this.field.setEditable(false);
}
}
まもなくそれは私が最初のものButton
2つ目TextField
を含む2つのペインを有することを意味します。いくつかのイベントのトリガで、私はすぐにそれらの両方を無効にしたい。このソリューションは完全に機能します。
私はまずのみNullPointerException
につながり、このクロスのようなコードを、避ける募集:私は正しいアプローチを使用しているし、それが認識デザインパターンの一つである上
LeftPane leftPane = new LeftPane(this.rightPane.getField());
RightPane rightPane = new RightPane(this.leftPane.getButton());
は、構造ですか?もしそうなら、その名前は何ですか?私はAdapter
またはBridge
を考えていますが、私の構造をそれらの1つにリファクタリングすることはできません。
私の構造が全くデザインパターンでない場合、同じものを扱うものは存在しますか?またはより良いアプローチが存在するか?
ジャストパターン必ずしも、オブジェクト構成のように見えます –
あなたのコメントをいくつかの説明、比較、提案と共に答えに変えれば、それは受け入れられるだろう。 :)) –
しかし、それはパターンかもしれません。 https://sourcemaking.com/design_patterns/structural_patterns –