我正在使用JavaFX進行項目工作,並且類通常有多達800-1200行。我們使用fxml來顯示Node元素,但這些類仍然非常複雜。這裏具體是我問:親子結構的設計模式
一個類ReservationUI
包含子部分,它們被模塊化爲當時的內部類,它也有子部分。並且這個類可以訪問ReservationUI
的字段。現在我喜歡將它們提取到自己的類中,但現在我需要訪問父類。
class A{
int x; int y;
B b;
public A(){
b = new B();
b.display();
}
private class B{
private C c;
/* modify x */
}
private class C{
/* modify x and y */
}
}
當我現在提取出來我有依賴更糟糕:我覺得是這裏的模塊化走了可怕的錯誤
class A {
int x; int y;
B b;
public A(){
b = new B(this);
b.display();
}
}
class B {
C c;
A a;
public B (A parent){
c = new C(this, parent);
a = parent;
/* call A.modifyX(c.get) */
}
class C{
A a;
B b;
public C(B parent , A root){
a = root;
b = parent;
}
}
。特別是當我有這樣一個關係時:根 - >孩子 - >孩子 - >孩子......。
有沒有解決這個問題的設計模式。據我所知有Mediator模式但使用它,但仍然沒有帶來多少,因爲我仍然需要基本上做同樣的事情。
'複合'是一個很好的,不是嗎?你也可以看看'裝飾者'。這兩個處理父子層次結構。 – EpicPandaForce
@朱因登恩,沒有。當父母子女的行爲類似時,複合很好。在我的情況下,我需要修改特定的父項。同樣也適用於裝飾者。 –