
30
| 第三章
其他的架構資源
坊間有許多關於軟體架構的書籍,其中有一些有點…嗯,這麼說吧…枯燥,但
是你不該為此退避三舍,因為你可以從中學到許多東西。如果你想要了解更多
關於軟體架構的知識,我們推薦以下的書籍,它們讀起來都十分有趣:
•
Building Evolutionary Architectures
(O
’
Reilly), Neal Ford 等人合著
•
97 Things Every Software Architect Should Know
(O
’
Reilly), Richard
Monson-Haefel 著
•
Software Architecture for Developers
(Leanpub), Simon Brown 著
•
Just Enough Software Architecture
(Marshall & Brainerd), George Fairbanks
著
鬆耦合
鬆耦合系統
的每一個元件都不太需要知道或完全不需要知道其他每個元件的定義。鬆耦
合系統最明顯的優點是,它的每個元件都可以換成提供同樣功能的其他實例。程式設計
領域的鬆耦合通常都被解釋成封裝(或資訊隱藏)v.s. 非封裝。
在 Java 程式語言裡面,我們可以在兩個地方看到這種情況。第一種,使用介面型態
v.s. 具體類別型態的方法簽章(method signature);前者透過鬆耦合和延遲至執行期
再選擇具體類別,來讓 app 更容易擴展。第二種,JavaBean 或 Plain Old Java Objects ...