- 热门职位
- 热门地点
- 地区招聘
时间沉淀下来的那些东西中,有一种最为珍贵,那就是设计模式。设计模式有利于提升沟通的效率,也有利于提升设计的质量。
我是李福春,我在准备面试,今天的问题是:
工作中你用到了哪些设计模式?
分析:
这个问题具有一定的开放性。可以依据以往项目经历中所运用的设计模式,挑选出大约 2 个左右的例子进行讲解。要说明为什么使用设计模式,以及它带来了哪些优点和不便之处。
如果实在无法找出内容,那么可以将 jdk 和 spring 相结合,从 jdk 中挑选一两个地方,从 spring 中也挑选一两个地方,来讲授大约两种左右的设计模式,相信面试官会感到比较满意。
我的回答:
设计模式是多年来程序员在设计过程中的最佳实践沉淀。它能够提高工程师的研发质量,也能提升沟通效率。
我在 X 游戏接入平台中运用了模板方法模式。场景是研发的游戏要推向不同的渠道,每个渠道的用户登录接口和充值接口的实现都有所不同。而 X 游戏平台作为一个服务平台,要接入不同渠道的游戏,需要保证游戏接入的一致性,同时消除到不同渠道的差异性。
使用模板方法的好处:
游戏接入的流程是固定的,包含登录和充值接入。协议和实现是解耦的,每个渠道根据对应的对接协议进行接入,在上层抹去差异,这样扩展性更好,能够轻松增加新渠道,也能更灵活地处理游戏接入。
在优化登录代码时,我运用了观察者模式。例如能够使用 Spring 的事件机制,也可以使用 guava 所提供的 EventBus。
之前的登录代码呈现出面条式的特点,每行代码仅处理一个与之对应的逻辑。例如,在登录完成之后,会进行记录日志的操作,同时会通知积分服务增加积分,还会通知统计服务增加登录次数,并且会变更日活。
使用观者模式后,会发送一个登录成功的消息,这个消息在监听者中会被处理,以进行不同的逻辑操作。这样做简化了代码,并且提高了可维护性和可扩展性。
最后可以对设计模式的分类进行盘点并且列举相关内容。就像本篇的 title 图那样。
jdk中用到的设计模式盘点
装饰器模式:java.io中的流处理;
小学语文名师分享:如何通过‘动’字提升学生智慧与成绩
小学著名的汉语老师 小学汉语老师de微信公共帐户 在广阔的书籍中,我会发 ...
浙江大学三位一体面试现场实况:家长考生雨中共同前行,感人瞬间令人动容
6月19日凌晨6:15,在雨雨雨的伴随着郑大学的“tripe”采访在Yuquan校园和Z ...
浙江大学三位一体初审入围分数变化分析:2024年首考入围分总体降低,理科生更友好
在智格大学的初步评论中,没有“一对一得分线”这样的事情。所谓的“一对一分数要求” ...
面试系统操作流程详解:考生信息核对、必答题抽取与试讲题目查看指南
再次登录后,输入面试系统的主页。每个候选人的访谈顺序是固定的,审查员的操作顺序也对应。 ...
香港大学硕士项目面试指南:形式与详细攻略全解析
许多学生需要参加香港大学硕士课程的录取面试。但是,根据香港大学的规定,并非所有硕士课程都 ...