01.JEE核心設計樣式(Design Patterns)

J2EE核心設計模式有一個規則,這個規則由三部分組成,分為: 特定環境、特定系統作用,以及特定軟件配置之間的關係。



Java EE 6依賴注入提供了統一的EJB與JSF編程模型

Java EE Design Patterns




耦合(Coupling)


當程式與 API 間產生極高度的直接引用時, 我們稱為高度耦合,這帶來了幾個問題,
  1. 未來 API 異動時,可預見的程式也必須發生直接性的更動修改


GoF設計模式(Design Patterns)


  • Facade Pattern(外觀模式)

在 GoF 的《設計模式》一書中提到,使用 Facade 模式的目的是:給子系統的一系列元件提供一個統一的外部介面(Interface)。使用 Facade 模式就是定義一個 Facade 介面,她是一個可以使原來的子系統更加容易被我們使用的高階介面。
  1. 優點:隱藏了所有參與活動中的所有元件間合作行為(含自身操作方法)
  2. 缺點:對參與活動中的元件直接操作便利性可能降低

  • Proxy Pattern(代理模式)

需求物件與執行物件可以無任何關聯,並藉由代理物件做為兩者中介。

掌握要點:
1. 代理者與被代理者都實作同一個介面(具有相同方法)
2. 代理者裡有一個變數存放被代理者,代理者所實作的方法都是透過這個變數去執行被代理者所實作的方法
3. 用戶端只需要對代理者進行操作即可




反向思考


  1. 設計模式”弊大於利
    1. 很多程序員把設計模式奉為天神,他們過度的追求設計模式,以至都都忘了需求是什麼,結果整個系統設計被設計模式搞得亂七八糟,我們叫這種編程為“設計模式驅動編程”,正如第一點所說,如果你不懂得用自己的大腦思考的話,知其然,不知所以然的話,那麼你不但得不到其好處,反而受其所累。
Comments