1. 程式人生 > >結對專案-Java實現隨機四則運算

結對專案-Java實現隨機四則運算

前言:

四則運算結對專案成果展示,動手實現之前困惑忐忑,開發過程中勞累又收穫,專案完成後滿足又成長許多。

 

正文:

一:專案地址

Coding.net專案地址:https://git.coding.net/Meloody/jieduizuoye.git

三:介面設計

 

  結合Information Hiding, Interface Design, Loose Coupling的知識,說明在結對程式設計中是如何利用這些方法對介面進行設計的。(3')

 

 

 

  Information Hiding方法的知識: 它是什麼?是資訊隱藏,指在設計和確定模組時,使得一個模組內包含的特定資訊(過程或資料),對於不需要這些資訊的其他模組來說,是不可訪問的。

為什麼要隱藏?首先可以隱藏複雜度:這樣你就不用再去應付它,除非你要特別關注的時候;其次隱藏變化源:這樣當變化發生時,其影響就能被限制在區域性範圍內。複雜度的根源包括複雜的資料型別、檔案結構、布林判斷以及晦澀的演算法等等。資訊隱藏的價值:資訊隱藏有著獨特的啟發力,它能夠激發出有效的設計方案。資訊隱藏同樣有助於設計類的公開介面。在設計的所有層面上,都可以通過詢問隱藏什麼的方式達到好的設計決策。 

 

  

 

  Information Hiding方法的介面設計: 把類內資料誤認為全域性變數:為了避免全域性資料可能帶來的問題,可能會把類內資料誤認為是全域性資料並避免使用它,我們把Expression.java的answer變數由最初的全域性變數變為類內資料,因為Judge.java裡面有一個answer變數,為了避免Judge.java使用Expression.java的answer,我們把Judge.java的answer變數改為了ans變數名。其實只要Expression.java的answer變數的位置處於區域性變數的位置就可以避免了。

 

 

 

  Interface Design方法的知識: 是什麼?是介面設計,介面是一種與類相似的結構,只包含常量和抽象方法。一句簡單又非常具有概括性的話:介面可以繼承介面,類只能實現介面(參看部落格1)。

 

 

 

   Interface Design方法的介面設計通過引數傳值,類間呼叫等實現模組的對接(主要是Command類和Expression類)。

 

 

 

  Loose Coupling方法的知識:是什麼?是鬆耦合,想讓物件與物件間鬆耦合,通過增加抽象類(Abstract Class)或者介面來做到。

鬆耦合主要用來處理可伸縮性、靈活性和容錯這些需求。鬆耦合的目標是最小化依賴。要實現鬆耦合,通常的做法就是引入Mediator(中間層,也有翻譯成中介者),在SOA中,這個中間層通常指的就是ESB(企業服務匯流排)。