单例模式、代理模式、工厂模式、适配器模式、策略模式、模板方法模式的java源码实现