我已阅读的有关观察者设计模式的参考文献(GOF Design Patterns,Head First Design Patterns,http://www.dofactory.com/Patterns/PatternObserver.aspx)规定具体主题可以引用具体观察者。就像这样:观察者设计模式 - 具体主题和观察者
class ConcreteObserver : IObserver
{
ConcreteSubject concreteSubjectInstance;
//other code, etc.
}
现在,如果具体的研究对象是本身实现了主体界面(或者从一些抽象的学科类派生的)为什么不把在ConcreteObserver类型是抽象/接口?即
class ConcreteObserver : IObserver
{
ISubject concreteSubjectInstance;
//other code, etc.
}
此外,为什么不把它作为(例如)IObserver
接口的领域?
最终,鉴于模式本身似乎放松了主体与其观察者之间的耦合,为什么在将观察者耦合到其主题时,这似乎不被促进?
是这样吗?我只是基于我读过的例子。
请提供您的参考文献 – Nix
@Nix:完成。我觉得这是足够的,因为他们是众所周知的名称没有联系的名称。 –
您发布DOFactory的示例之一显示了抽象类的使用情况? – Nix