Android默认DeskClock应用程序中的设计模式

时间:2012-06-20 04:29:51

标签: android design-patterns

我正在尝试学习android系统并正在研究标准(默认)DescClock应用程序(我想我已经从这里得到它:http://omapzoom.org/?p=platform/packages/apps/DeskClock.git)。具体来说,我的问题是关于课程AlarmAlarmsAlarm是单个警报的实现,而Alarms有各种使用Alarm的方法。 Alarms的所有方法都是 static

现在,问题。用静态方法制作“经理”类是一种众所周知的设计模式吗?这种方法的一般好处是什么?谢谢!

1 个答案:

答案 0 :(得分:2)

起初,我认为这可能是Composite pattern,当你有一个可以独立的类或同一类型的容器时,这是典型的。但是,当我读到所有Alarms方法都是静态的时,我意识到它与复合材料无关。

所有Alarms方法都是静态的这一事实意味着Alarms没有状态,只在Alarm类实例上执行行为。查看代码之后,好像Alarms类是Facade pattern甚至是Visitor pattern的混合,即使它只在一个类上工作。

Alarms类正在做的是有效地封装 的详细信息,以便在Alarm类上工作,从而简化其用途最终用户。我实际上喜欢这种方法,虽然有人可能会说,如果使用Alarm类这么难以像它一样封装它,那么它的设计可能会被重构。