Java-第十八部分-设计模式

408 阅读3分钟

面试题

原型设计模式

  • 使用UML类图(类与类的关系)画出原型模式核心角色
  • 原型设计模式的深拷贝和浅拷贝,并写出深拷贝的两种方式的源码
  1. 重写clone方法实现深拷贝
  2. 使用序列化来实现深拷贝
  • spring框架中哪里使用了原型模式

设置模式面试题

  • 设计模式七大原则核心思想
  1. 单一职责原则
  2. 接口隔离原则
  3. 依赖倒转原则
  4. 里氏替换原则
  5. 开闭原则ocp
  6. 迪米特法则
  7. 合成复用原则
  • 类图说明设计原则
  • 实际开发中用到的ocp原则

项目相关

  • 金融借贷平台项目,借贷平台的订单,有审核-发布-抢单等步骤,随着操作不同,会改变订单的状态,项目中这个模块实现就会使用到状态模式,使用状态模式进行设计

解释器设计模式

  • 介绍解释器设计模式
  • 画出解释器设计模式的UML类图,分析模式中的各个角色
  • spring中哪里用到了解释器设计模式,源码级别分析

单例设计模式

  • 有几种实现方式,分别用代码实现,说明各个实现方式的优点和缺点,共8种
  1. 饿汉式,2种
  2. 懒汉式,3种
  3. 双重检查,多线程,解决冲突问题,和懒加载
  4. 静态内部类
  5. 枚举

设计模式的重要性

  • Design pattern,对软件设计中普遍存在的各种问题,所提出的解决方案
  • 从建筑涉及领域引入计算机科学
  • 项目,可扩展性,规范性,低耦合性,高内聚,降低软件复杂度
  • 立足于软件结构思考问题
  • 在功能模块中体现设计模式和算法,框架中体现多种设计模式
  • 二十三种设计模式
  1. 创建型(对象创建方面)模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式
  2. 结构型(可扩展)模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
  3. 行为型(方法设计更合理)模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器(Interpreter)模式、状态模式、策略模式、职责链(责任链)模式

七大设计原则

UML和单例模式

工厂模式

原型模式和建造者模式

适配器模式和桥接模式

装饰者模式和组合模式

外观模式和享元模式

代理模式和模板方法模式

命令模式和访问者模式

迭代器模式和观察者模式

中介者模式和备忘录模式

解释器模式和状态模式

策略模式和职责链模式