java設計模式9 外觀模式(facade)

2021-06-20 13:44:03 字數 991 閱讀 5450

外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面,看下類圖:(我們以乙個計算機的啟動過程為例)

我們先看下實現類:

public class cpu 

public void shutdown()

}public class memory

public void shutdown()

}public class disk

public void shutdown()

}public class computer

public void startup()

public void shutdown()

}

user類如下:

public class user 

}

輸出:

start the computer!

cpu startup!

memory startup!

disk startup!

start computer finished!

begin to close the computer!

cpu shutdown!

memory shutdown!

disk shutdown!

computer closed!

如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係,這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用,這,就是外觀模式!

設計模式9 外觀模式

將類與類之家的依賴關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面 實現類1 public class cpu public void shutdown 實現類2 public class memory public void shutdown 實現類3 public c...

設計模式 外觀模式(9)

一 定義 外觀模式為子系統中的一組介面提供乙個一致的介面,其實就是提供乙個高層介面,方便別人的呼叫。二 框架運用 spring jdbc中的外觀模式 org.springframework.jdbc.support.jdbcutils mybatis中的外觀模式 org.apache.ibatis....

設計模式 9 外觀模式

比如開一台裝置需要按順序給顯示器通電 亮燈 發出聲音。在使用外觀模式前,客戶端直接呼叫通電 亮燈 發出聲音。在這樣的情況下,後續如果流程發生變化,比如不需要發出聲音或聲音需要在亮燈之前,就需要修改客戶端的 如果客戶端多處呼叫,就需要修改多處。public class subsystemone pub...