设计模式
文章平均质量分 74
遇见小美好
爱生活、爱折腾、喜欢尝试探索行业新技术的FE
展开
-
学习笔记——JavaScript(三):继承的几种实现方式
继承是面向对象的,通过继承我们可以更好地复用以前的开发代码,缩短开发的周期、提升开发效率。JavaScript常见的继承方式有以下几种。子类的原型对象——类式继承// 声明父类function SuperClass() { this.superValue = true;}// 为父类添加公共方法SuperClass.prototype.getSuperValue = function() { return this.superValue;}// 声明子类function SubCl原创 2021-05-14 19:21:56 · 364 阅读 · 22 评论 -
学习笔记——JavaScript(一):面向对象编程
假设有个表单验证的需求,需要验证用户姓名、邮箱、密码。我们例举以下几种常见编程风格,领略js编码的艺术????。1. 版本一function checkName(val) { // 验证名字 if (val.length < 3) { console.log('长度不能小于3位') }}function checkEmail(val) { // 验证邮箱 if (val.length < 4) { console.log('长度不能小于4位') }}functio原创 2021-05-12 15:43:07 · 112 阅读 · 0 评论 -
策略模式应用示例——表单校验
项目中,注册、登录、修改用户信息等功能的实现都离不开提交表单。在将用户输入的数据交给后台之前,常常要做一些客户端力所能及的校验工作,比如注册的时候需要校验是否填写了用户名,密码的长度是否符合规定,等等。这样可以避免因为提交不合法数据而带来的不必要网络开销。假设我们正在编写一个注册的页面,在点击注册按钮之前,有如下几条校验逻辑。用户名不能为空。密码长度不能少于 6 位。手机号码必须符合格式。表单校验:版本一或许我们会看到类似如下版本的表单校验:<!DOCTYPE html>&原创 2021-03-03 18:53:28 · 293 阅读 · 2 评论 -
装饰者模式应用示例——表单验证
在一个 Web 项目中,可能存在非常多的表单,如注册、登录、修改用户信息等。在表单数据提交给后台之前,常常要做一些校验,比如登录的时候需要验证用户名和密码是否为空,代码如下:<!DOCTYPE html><html> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>表单验证</title>原创 2021-02-08 18:34:57 · 121 阅读 · 0 评论 -
JavaScript设计模式——享元模式
享元模式的要求与目标享元模式要求将对象的属性划分为内部状态与外部状态(状态在这里通常指属性)。享元模式的目标是尽量减少共享对象的数量,关于如何划分内部状态和外部状态,下面的几条经验提供了一些指引。 内部状态存储于对象内部。 内部状态可以被一些对象共享。 内部状态独立于具体的场景,通常不会改变。 外部状态取决于具体的场景,并根据场景而变化,外部状态不能被共享。这样一来,我们便可以把所有内部状态相同的对象都指定为同一个共享的对象。而外部状态可以从对象身上剥离出来,并储存在外部。享元模式应用原创 2021-02-05 16:36:50 · 149 阅读 · 0 评论