单例模式:保证一个类只有一个实例,并提供一个访问他的全局访问点
工厂模式:定义一个用于创建对象的接口,让子类去决定实例化哪一个类,Factory Method使一个类的实例化延迟到子类
适配器模式:将一个类的接口转换成客户希望的另一个接口,是的原本由于接口不兼容而不能一起工作的那些类可以一起工作。
碰到无法改变原有设计和代码的情况可以考虑
装饰者模式:动态的给一个对象增加一些额外的职责,生成子类更加灵活
代理模式:为其他对象提供一种代理以控制对象的访问
单例模式注意事项:
尽量使用懒加载
双重检索实现线程安全
构造方法私有化
定义静态的Singleton instance对象和getInstance()方法
源码中用到的设计模式:
装饰器模式:IO流
迭代器模式:Iterator
单例模式:java.lang.Runtime还可以用来windows任务管理器,回收站
代理模式:RMI