Sye*_*mil 2 java oop uml design-patterns
我正在研究课程中的课程设计模式.他们有课程说明,他们将Subject观察者设计模式定义为超类,如下图所示
现在我认为这个Subject类本身是无用的,直到子类继承它并制作任何特定的主题.在那种情况下不应该Subject是一个java interface而不是?是什么原因Subject不是java接口而是Observeris.
是否有任何具体原因.我对此有点困惑.
谢谢
如果Subject是一个接口,那么每一个实现类Subject必须重新实现所有的registerObserver,unregisterObserver和notify方法,这是非常标准.
您可以说您将这些方法放入一个帮助器类中,以便每个派生程序Subject都可以将任务委派给该帮助程序.但毕竟,您必须复制所有派生Subject类的委托代码.虽然授权代码简短而直截了当,但重复仍然令人沮丧.
你可以在这篇非常有趣的Bob叔叔文章的末尾找到这个论点:http://blog.cleancoder.com/uncle-bob/2015/01/08/InterfaceConsideredHarmful.html
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |