浅谈工作中的设计模式【单例、工厂、桥接、装饰】
摘要:前言记得刚毕业的时候参加了一次校招面试,之前表现的很好,最后时面试官问我懂不懂设计模式,我说不懂,然后就进去了;后面又参加了某大公司的校招,开始表现还行,后面面试官问我懂不懂设计模式,我说懂(上次后补习了下),最后把工厂模式的代码背写到了纸上,然后就没有然后了......现在回想起来当时有点傻有点天...
阅读全文
posted @
2015-02-14 14:45
叶小钗
阅读(2581)
推荐(1) 编辑
一次面试回顾——探讨表现与数据分离
摘要:前言半年多之前有一次面试,当时只是想要张回家的免费机票,顺便看看运气却不想那次面试获益颇丰,所以没事出去面试面试对个人的知识总结以及思维的深化很有帮助的哦深化当然不是一朝一夕的事情,比如当时面试官就问我什么是“表现与数据分离”,就这个问题我就前前后后学习了很久,也和很多同事讨论过,但是一直没有一个比较好的结果最近在做ipad相关的单页应用研究,被一个问题困住了思维,晚上看了两集布袋戏,完了在纸上画着画着,突然对半年多之前的一道面试题很有点思路于是,今天晚上,抽时间记录之,此文只是个人见解,不一定正确,有误请指正,时间紧时间晚,行文不清晰勿怪面试回顾首先,当时我简历是抄的,里面有一句“对表现与数
阅读全文
posted @
2014-01-17 00:35
叶小钗
阅读(10016)
推荐(17) 编辑
【重构笔记04】重新组织数据(我好像明白了什么是数据与行为分离)
摘要:关于继承因为在后续的章节中,我们经常会用到继承相关的知识,所以在这里在说一说javascript中的继承问题首先,我们来看一个后续会经常用到的方法,我们会用他来创建类 1 var base = {}; 2 var slice = [].slice; 3 base.Class = function (supClass, childAttr) { 4 //若是第一个是类,便是继承;如果第一个是对象,第二个参数无意义,便是新建一个类 5 if (typeof supClass === 'object') { 6 childAttr = supClass; 7 ...
阅读全文
posted @
2013-10-31 01:06
叶小钗
阅读(2356)
推荐(8) 编辑
【重构笔记03】对象之间搬迁特性
摘要:前言在面向对象设计过程中,“决定把责任放在那儿”即使不是最重要的事,也是最重要的事之一。这个思想其实对类较重要,在js中,函数应该完成什么职责,也需要分清楚,不要函数做了自己的事情,又做了一部分其它函数的事情。在js中,往往只有一个类,面向对象的思想其实比较难,没有一定功力不能很好的运用,我也在学习很多js中其实就只有一个类,一个插件就是一个类,而且这个类还是假的,继承、封装神马的要理解还是不容易的,所以路还长!搬迁函数我们的程序中如果有个函数与其所驻类的另一个类有更多的交流(调用后者、或者被后者调用)那么在该函数最常引用的类中建立一个有着类似行为的新函数,将久函数变成一个单纯的委托函数,或者
阅读全文
posted @
2013-10-20 16:16
叶小钗
阅读(1647)
推荐(3) 编辑
【重构笔记02】重新组织函数
摘要:前言重构过程中,还是有一定标准可循的,每个重构手法有如下五个部分:首先是名称(name),建造一个重构词汇表,名称是非常重要的 然后是一个简短概要,介绍重构手法适用的场景,以及他干的事情,这样我们可以快速找到所需重构方法然后,介绍为什么需要这个重构,或者什么情况下适用这个重构做法,简明扼要的介绍如何一步步重构最后,以一个十分简单的例子说明此重构如何运作所以今天我们进入重构的学习吧!提炼函数我们重构是,重头戏就是处理函数,以js而言,函数重要性更是终于“类”的概念。如何恰当的包装代码,如何减少过长的代码,这是我们多数时刻需要思考的。但是要消除函数过长是不易的,一个函数过长说明这个函数所完成的业务
阅读全文
posted @
2013-10-16 09:57
叶小钗
阅读(1688)
推荐(2) 编辑
【重构笔记01】第一个案例/补齐插件
摘要:前言上一次写的日历插件基本完成,中间我和团队一个高手交流了一下,其实就是他code review我的代码了,最后我发现我之前虽然能完成交待下来的任务但是代码却不好看。这个不好看,是由于各种原因就这样了,于是当时就想说重构下吧,但是任务一来就给放下了。现在想来,就算真的要重构,但是也不一定知道如何重构,无论最近学习jquery代码还是其他其实都是为了在思想上有所提升而不一定是代码上如何然自己的代码更优雅如何让自己的程序可扩展性高如何让自己的代码更可用这些都是接下来需要解决的问题,学习一事如逆水行舟啊!所以我这里搞了一本《重构》一书,准备在好好学习一番。关于插件这个说是插件其实代码还是比较糟糕的,
阅读全文
posted @
2013-09-28 17:31
叶小钗
阅读(2561)
推荐(12) 编辑
初探Backbone
摘要:前言终于到周末了,几经转折老夫工作终于落实,干起了移动前端,于是真正进入了HTML5的开发时代。这周一开始入职,进来后发现真的像农村的来到了城市,很多东西不懂的,又要落实租房的问题,生活工作拧到了一坨。由于上次去河南折腾了一番,经济也在亮红灯,于是第一周有点浑浑噩噩的感觉,还没做什么就结束了。新的团队的人感觉都有点生猛,老同事完全没压力,另一个新同事适应的很快,居然都能进入框架开发了,难道这边真这么多高手?小的这边亚历山大啊。现在项目使用的是jquery+requireJS+backbone,前两天我们初略的学习了下requireJS,要说好熟悉纯粹是扯淡,只不过有个大概印象罢了。我们今天的任
阅读全文
posted @
2013-07-27 16:18
叶小钗
阅读(51189)
推荐(45) 编辑
【MVC学习笔记01】初窥奥秘
摘要:前言最近工作落实了,是我非常喜欢的无线前端,会接触很多新东西啦,需要努力才行。因为会用到backbone,所以要学习MVC啦。MVC(模型-视图-控制器),这种模式最早被用于构建桌面程序和服务器端的应用程序。最近几年由于前后端数据的转移,前端所占的业务逻辑越来越重,于是这种模式便出现在了我们前端的javascript中了,比如Backbone 然后MVP与MVVM也先后在前端出现,并且各自拥有其拥戴者。初探MVCMVC是一种架构设计模式,他通过关注点分离改进程序组织,从而达到优化程序的目的。MVC强制将业务数据(model)与用户界面(view)分离,controller用以管理用户输入以及一
阅读全文
posted @
2013-07-23 17:24
叶小钗
阅读(3179)
推荐(12) 编辑