首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
设计模式
订阅
lxfawh
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
JavaScript优化模式
这个帖子是我博客上一系列帖子的开始,在这个第一部分里,我要强调一下具体的执行环境对JavaScript代码的性能会有多大的影响。
重构与模式系列(一)简化函数
我们需要从我们的注册用户列表中查看我们的用户,并且筛选出活跃用户,并向他们发送一封邮件。 提炼函数大致的思想就是将我们过长的函数拆分为小的函数片段,确保改函数内的函数片段的处理在同一层面上。随便找了一个regular预览图片组件里面的例子。 包括一些事件的绑定,我们通过下面的书…
ES6中的代理模式-----Proxy
简单来说:Proxy对象就是可以让你去对JavaScript中的一切合法对象的基本操作进行自定义.然后用你自定义的操作去覆盖其对象的基本操作.也就是当一个对象去执行一个基本操作时,其执行的过程和结果是你自定义的,而不是对象的. 😓好吧,用文字表达可能太复杂了.我们还是直接上代…
JavaScript设计模式之面向对象编程
在JavaScript中创建一个对象很容易,首先声明一个函数保存在一个变量里。按编程习惯一般将这个变量名的首字母大写。然后内部通过this变量来添加属性或者方法来实现对类添加属性和行为。 当然,我们也可以通过在类的原型上添加属性和方法。有两种方式: 这样,我们就将我们所需要的方…
使用合适的设计模式一步步优化前端代码
现在业务迭代,需要我们在page.init()初始化代码块的最后增加一些功能,同时不影响原先的功能。按照正常的写法,我们可能会像下面这样写: 这样写是可以解决我们的需求,但是这样的代码是具有侵略性的,我们不得不在原先的代码的合适位置新增我们需要的代码。但我们思考一个问题,如果我…
重构与模式(二)——发布订阅模式与中介者模式实际使用
实际开发过程中我们遇到过的先发布后订阅的场景为:我们有一个展示用户信息的头部导航模块,这个模块依赖于获取用户信息的模块来显示用户头像,但是获取用户信息是异步的,在头部信息trigger之后,我们的头部模块才加载完并listen(我们的模块用了惰性加载)。 为了满足这个需求,我们…
CSS原理解析之模型篇
盒模型是我们每天都在接触的,但盒子模型到底如何计算排列的,总是一知半解。本文尝试从W3C规范和实例入手,解决上述问题。 每个盒子会变成他后代盒子的包含块,后代盒子的大小和位置会根据他包含块的矩形边框进行计算。但是不会受到包含块的限制,可能会溢出。 1. 最基本的例子 2. 当e…
被误读的设计模式
1994年10月21日,有四个哥们儿出版了一本书,名字叫做《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)。 这四个哥们儿后来以“四人帮”(Gang of Fo…
谈谈设计模式 —— Iterator
最近在阅读《图解设计模式》一书,书上每一个设计模式涉及的篇幅不是太长,但是,知识点却都涵盖了进去。在学习的同时,打算加上自己的理解,将这二十三种设计模式分篇章的一一分享出来。同时,结合相关的范例,我们将这些设计模式以 JavaScript 和 TypeScript 的方式来进行…
Typescript玩转设计模式 之 结构型模式(下)
Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或者多个)子系统的功能和责任;在正常情况下,它将所有从客户端发来的请求委派到相应的子系统去,传递给相应的子系统对象处理。 SubSystem(子系统角色):在软件系统中可以有一个或者多个子系统角…