簡體   English   中英

如何更好地組織較小類的swing代碼?

[英]How to better organize swing code for smaller classes?

Swing類的大小往往會增加,特別是在構建具有許多功能的頁面時,這些功能總是導致復雜的代碼,維護噩夢。

現在,我明白如果業務邏輯被分離出來,那么這些類中的許多都會急劇縮減。

我想知道的是如何對swing元素進行組件化,以便可以使用更簡單的構建塊構建頁面? 是否有一些示例應用程序,您已經看到在每個頁面上都做了很多,而且幾個類中沒有遇到數千行? 您建議打破UI代碼的任何技術?

我發現在Humble對話框文章中描述的技術相當不錯。 它還大大方便了測試。

你意識到你提出了相互矛盾的要求?

  • 這在每個頁面都做了很多
  • 而且不會遇到數千行

如果你有很多功能,你會有很多代碼來執行這些功能嗎? 用戶界面通常不是微不足道的,因為他們需要具備良好的可用性:

  • 以合理的方式布局
  • 根據當前UI狀態啟用/禁用組件
  • 驗證用戶輸入
  • 在幕后與一些模型交換數據

這自然需要每個UI元素幾行代碼,有時很多。 (代碼行不應該在字面上,如果你使用一個與XML一起工作的框架,它也可能是某種元代碼)。

抽象地說,你唯一能做的就是保持邏輯組織的混亂。 干凈地分開不同的任務。 這可以通過將整個行為抽象到每個UI元素中來實現(該方法通常導致每個組件的特定子類或組件和行為的組合),或者通過將每個關注放入單獨的類(例如,聲明的Panel)所有組件,但啟用/禁用,驗證和數據綁定分為不同的類)。

這兩種方法都沒有真正減少代碼量,但它們限制了進入一個類的代碼量。

最后,將您在許多地方找到的常見/類似代碼分解出來(如果您已經擁有現有代碼網格,則采用“補救”方法)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM