经典面试题
1)使用UML类图画出原型模式核心角色
2)原型模式的深拷贝和浅拷贝是什么,并写出深拷贝的两种写法(重写clone、序列化方式)
3)在Spring中哪里使用到了原型模式,并对源码进行分析
Spring中原型bean的创建就是使用的原型模式:<bean id="user" class="com.User" scope="prototype">
一定要看一下Spring中这边的源码
4)七大原则核心思想
5)能够用类图说明设计原则
6)在项目中,你在哪里使用到了ocp原则
7)借贷平台的订单,有审核、发布、抢单等步骤,随着操作的不同,会改变订单的状态,请你使用状态模式进行设计,并完成实际代码
问题分析:这类代码难以应对变化,在添加一种状态时需要添加if/else,在添加一个功能时,要对多有状态进行判断,因此代码越来越雍肿,并且一旦没有处理某个状态,会发现严重bug,难以维护。
8)解释器模式是什么,请画出UML类图,Spring中哪里用到了解释器模式?
SpelExpressionParser使用了解释器模式。
9)单例模式一共有几种实现方式,并说说各种方式的优缺点
何时会用到设计模式
设计模式是对软件设计过程中普遍存在的问题的一种解决方案,即前人总结的软件设计经验。
软件的扩展性、可维护性(易读、规范)
网友评论