我已经实现使用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
和第二个中的TextField
两个窗格。在某些事件触发器上,我想一次禁用它们。此解决方案完美运作。
我想首先避免这种交叉状的代码,导致只有NullPointerException
:
LeftPane leftPane = new LeftPane(this.rightPane.getField());
RightPane rightPane = new RightPane(this.leftPane.getButton());
是结构上面我已经使用了正确的做法,是其公认的设计模式之一?如果是这样,它的名字是什么?我一直在想Adapter
或Bridge
,但我无法将我的结构重构为其中之一。
如果我的结构根本不是设计模式,是否存在一个处理同样的事情?还是存在更好的方法?
看起来就像物体组成,不一定模式 –
如果你通过一些解释,比较或建议将你的评论变成一个答案,那将是可以接受的。 :)) –
虽然它可能是一种模式。 https://sourcemaking.com/design_patterns/structural_patterns –