2012-06-20 40 views
0

我在學習Android系統,並正在研究標準(默認)DescClock應用程序(我想我已經從這裏獲得:http://omapzoom.org/?p=platform/packages/apps/DeskClock.git)。具體來說,我的問題是關於類Alarm和​​。 Alarm是一個單一警報的實現,而​​有各種使用Alarm的方法。​​的所有方法都是靜態Android默認DeskClock應用程序中的設計模式

現在,問題。使用靜態方法創建「經理」類是否是衆所周知的設計模式?這種方法的一般好處是什麼?謝謝!

回答

2

起初,我想這可能是一個Composite pattern,這是典型的,當你有一個類可以是獨立的或相同類型的容器。但是,當我讀到所有的​​方法都是靜態的,我意識到它與Composite沒有任何關係。

,所有的​​方法是靜態的事實意味着​​沒有狀態,只作用行爲上Alarm類實例。在查看代碼之後,看起來好像​​類是Facade pattern甚至Visitor pattern的混合,儘管它只能在一個類上工作。

什麼​​類做的是有效地封裝的細節如何Alarm類工作,從而簡化了其對最終用戶的使用。我其實很喜歡這種方法,但有人可能會爭辯說,如果使用Alarm類難以像這樣封裝它,那麼也許應該對其設計進行重構。