1. 单例模式[创建型]
- 应用场景1:在构造函数中解析配置文件保证只解析一次 - 应用场景2:做缓存,因为单例对象不会被垃圾回收器回收单例分类:
- 真单例 * 饿汉 * 懒汉 - 伪单例 * Servlet是一个伪单例,不符合单例模式的规则,但是该对象是单例的. Servlet对象的生命周期,程序员无权干涉.只能交给WEB容器管理. Servlet是单例,那么Servlet对象上的实例变量一定会有线程安全问题. 所以建议不要在Servlet类上定义实例变量.除非保证该实例变量不被修改.2. 策略模式[行为型]
- 集合是策略模式的代表 - 比较器也是策略模式的代表3. 迭代器模式[行为型]
- 集合的遍历是迭代器的代表4. 缺省适配器[结构型]
- GenericServlet - 自己编写的过滤器Filter适配器 - 自己编写的拦截器Interceptor适配器5. 装饰器模式[结构型]
- IO流是装饰器模式的代表6. 代理模式[结构型]
- 静态代理 - 动态代理7. 模板方法模式[行为型]
- HttpServlet是模板方法设计模式的代表模板方法设计模式的核心:
在模板类的模板方法中定义核心算法骨架,具体的实现延迟到 子类中完成,可以达到在不修改核心算法的前提之下,可以重新 定义算法的具体实现. 模板方法设计模式是最简单的设计模式,因为它只采用了java中的继承机制.8. 简单工厂[创建型]
* 设计模式一般说的都是Gof95,其实除了Gof95之外还有JavaEE的设计模式,以上除简单工厂之外都是Gof设计模式.
* 设计模式的分类:
- 创建型 - 结构型 - 行为型* Gof95共23种设计模式
---------------------------------------------开发原则---------------------------------------------------------
1.OCP 基本的开发原则,开闭原则
2.迪米特法则:高内聚,低耦合
3.依赖倒转原则:面向接口编程,面向抽象编程
4.合成聚合复用原则:尽量使用A has a B,减少使用A is a B