android系统中有个ContentService服务,定义了俩接口:IContentService,IContentObserver。
ContentResolverr的register/unregister接口实现就是获取系统contentService服务,然后把ContentObserver中的IContentObserver的实现和Uri同时注册到ContentService服务中,当ContentProvider对象通知(notify)contentService服务某种Uri发生改变,CS会根据Uri查找到对应的IContentObserver对象,(IContentObserver是一种IBInder),最终会调用IContentObserver的onChange方法。哈哈,最终实现基本的观察者模式。
好了,这是CR与CO之间的观察者模型,借助Android系统中ContentService服务。大体示意图如下:

CR本质上是工具,并不是信息源,其实信息源可以使ContentProvider或者其他CO。上述的结构只是对Uri和ContentObserver负责。CS相当于GOF中的ChangeManger。