Java-第十八部分-设计模式
面试题
原型设计模式
- 使用UML类图(类与类的关系)画出原型模式核心角色
- 原型设计模式的深拷贝和浅拷贝,并写出深拷贝的两种方式的源码
- 重写clone方法实现深拷贝
- 使用序列化来实现深拷贝
设置模式面试题
- 单一职责原则
- 接口隔离原则
- 依赖倒转原则
- 里氏替换原则
- 开闭原则ocp
- 迪米特法则
- 合成复用原则
项目相关
- 金融借贷平台项目,借贷平台的订单,有审核-发布-抢单等步骤,随着操作不同,会改变订单的状态,项目中这个模块实现就会使用到状态模式,使用
状态模式进行设计
解释器设计模式
- 介绍解释器设计模式
- 画出解释器设计模式的UML类图,分析模式中的各个角色
- spring中哪里用到了解释器设计模式,源码级别分析
单例设计模式
- 有几种实现方式,分别用代码实现,说明各个实现方式的优点和缺点,共8种
- 饿汉式,2种
- 懒汉式,3种
- 双重检查,多线程,解决冲突问题,和懒加载
- 静态内部类
- 枚举
设计模式的重要性
- Design pattern,对软件设计中普遍存在的各种问题,所提出的解决方案
- 从建筑涉及领域引入计算机科学
- 项目,可扩展性,规范性,低耦合性,高内聚,降低软件复杂度
- 立足于
软件结构思考问题
- 在功能模块中体现
设计模式和算法,框架中体现多种设计模式
- 二十三种设计模式
- 创建型(对象创建方面)模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式
- 结构型(可扩展)模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
- 行为型(方法设计更合理)模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器(Interpreter)模式、状态模式、策略模式、职责链(责任链)模式