我正在尝试学习android系统并正在研究标准(默认)DescClock应用程序(我想我已经从这里得到它:http://omapzoom.org/?p=platform/packages/apps/DeskClock.git)。具体来说,我的问题是关于课程Alarm
和Alarms
。 Alarm
是单个警报的实现,而Alarms
有各种使用Alarm
的方法。 Alarms
的所有方法都是 static 。
现在,问题。用静态方法制作“经理”类是一种众所周知的设计模式吗?这种方法的一般好处是什么?谢谢!
答案 0 :(得分:2)
起初,我认为这可能是Composite pattern,当你有一个可以独立的类或同一类型的容器时,这是典型的。但是,当我读到所有Alarms
方法都是静态的时,我意识到它与复合材料无关。
所有Alarms
方法都是静态的这一事实意味着Alarms
没有状态,只在Alarm
类实例上执行行为。查看代码之后,好像Alarms
类是Facade pattern甚至是Visitor pattern的混合,即使它只在一个类上工作。
Alarms
类正在做的是有效地封装 的详细信息,以便在Alarm
类上工作,从而简化其用途最终用户。我实际上喜欢这种方法,虽然有人可能会说,如果使用Alarm
类这么难以像它一样封装它,那么它的设计可能会被重构。