前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试时对方问你,“xxx需求你是怎么做的”?你可以这样回答

面试时对方问你,“xxx需求你是怎么做的”?你可以这样回答

作者头像
web前端教室
发布2018-02-07 09:55:24
5870
发布2018-02-07 09:55:24
举报
文章被收录于专栏:web前端教室web前端教室

如何去分析一个需求?这两天在给零基础课的同学们讲课的时候,正好讲到了,产品详情页的图片展示这里,ui是这样的,

跟京东那个的ui交互操作是一样的,我跟他们讲,这个东西如果不太清楚怎么做,可以先用笔在纸上画出来,从“属性”、“方法”、“事件”这三个角度去拆分这个需求,就这样做,

这个xMind的思维导图很清晰的把上面设计图中所包含的操作,都列出来了。

先写事件,那左右按钮肯定是事件,大图的局部细节图肯定会有一个鼠标移入事件,每个小图肯定会有一个点击事件,用以切换上面的大图。

然后是需要的方法,我们是按OO的工厂模式来写。那咱们零基础课前几天讲设计模式的时候,提到工厂模式是“构造器 + prototype”,那么肯定有一个init方法,然后是一个获得json的方法,然后是大图和小图的dom生成的方法。

再接下来的属性那一列,这个需求没什么具体的属性,就先随便写几个东西上去,什么接口啊,dom之类的。

////////

然后,我跟他们讲,,我现在写出来也给现在你们这些读者们讲,这个图画出来之后,接下来就像填空一样写js了。前面刚写到工厂模式是“构造器 + prototype”,那么伪代码示意:

// 这就是构造器了

代码语言:js
复制
function imageSwitch(){
 this.ida = $('#ida');
 this.idb = $('#idb');
 this.idc = $('#idc');
 ...
 this.init()
}
imageSwitch.prototype = {
 init:function(){
 var _self = this;
 },

// 刚才图里画了各种事件,先是左按钮

代码语言:js
复制
 leftBtn:function(){
 var _self = this;
 },

//然后是右按钮

代码语言:js
复制
 rightBtn:function(){
 var _self = this;
 },

// 然后是大图的局部

代码语言:js
复制
 bigImageMouse:function(){
 var _self = this;
 },

//然后是getJson的

代码语言:js
复制
 getAjaxJson:function(){
 var _self = this;
 },

//然后是小图点击切换大图

...

//然后是生成大图,

...

//然后是生成小图

}

代码语言:js
复制
new imageSwitch();

////////

看看,是不是和填空一样很类似,上面那个属性方法事件的图,还可以进一步再细画,就是在里面加上它们之间的相互调用关系,就这样,

上面的虚线就标明了这些方法与事件之间的调用关系,其中就包括了一些事件需要在获得json生成dom之后的回调之中才能进行。不能画的再多了,因为xmind的免费版不太稳定,画的太复杂文件容易损坏。

在面试的时候,就是这样的一张图,再加上用笔在纸上写的上面的伪代码,就能够很完美的回答对方问你某个东西是如何做的,这个问题了。

希望大家都能学会这个小方法,虽然它不是最有效的,但却是最简单的。只有三个维度,“属性,方法,事件”,写出来,就ok了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档