摘要

观察者模式是一种在用户界面设计中广泛使用的设计模式。在传统的观察者模式实现中,虽然目标和观察者之间的耦合性得到降低,但是目标仍须知道观察者的类型,即所有的观察者必须处于同一继承体系下。在既有代码或第三方库中引入观察者模式,通常的做法是使用多重继承,这种方法不仅不利于对象间的解耦,而且在一些面向对象语言中,多继承功能是受限的。应用泛型技术在强类型语言中设计一种容器,消除模式中的类型依赖,在不改变观察者模式外部接口的前提下,让任意类型都可以充当观察者。在航天可视化遥操作子系统中采用这种方法对系统进行重构,提高了系统的可扩展性和复用性。

全文