zoukankan      html  css  js  c++  java
  • java 设计模式

    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

  • 相关阅读:
    测试如何发挥更大的价值?聊聊测试左移和右移
    Cocos Creator性能调优
    跨域问题产生的原因和解决方法
    tornado部署
    tonado
    MySQL binlog
    grpc
    nextjs中的懒加载
    前端低代码-少写代码实现灵活需求
    MySQL中的锁
  • 原文地址:https://www.cnblogs.com/2016-cxp/p/10941140.html
Copyright © 2011-2022 走看看