Java中常用的各种设计模式,如单例模式,工厂模式,代理模式,访问者模式,观察者模式,中介者模式等