设计模式的分类,Java代码中使用观察者模式的案例以及文档