这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战
☆☆☆ 今天来具体了解一下几种设计模式: (单例模式 工厂模式 观察者模式) ☆☆☆
可作为初学者的学习路线, 可参考一下, 学习进度也不是特别赶! 持续更新中
结合自己的理解, 用白话文简单又全面概括
JavaScript学习过程中的基础知识点, 方便加深理解!
开始今天的学习吧!! 查缺补漏! '打牢地基才能筑高楼'! 加油! 认真对待!!
梳理昨日知识点:
( 继承的几种方式 & 闭包 & 单例模式 )
- 继承 : 子类继承父类所有的属性和功能
- 继承方式
2.1 通过改变父类的执行环境
2.2 通过
call或apply继承 2.3 原型继承 2.4 混合继承 2.5ES6的继承:extends ES6的构造函数- 闭包 在一个函数体内部能够访问另外一个函数的私有变量
- 设计模式之单例模式初见面:
1、什么是设计模式?
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
- 单例模式
- 工厂模式
- 观察者模式
- 代理模式
- 策略模式
- 组合模式等等
MV* ---> MVC / MVVM 不属于 23 种设计模式
使用设计模式是为了
- 可重用代码、
- 让代码更容易被他人理解、
- 保证代码可靠性。
设计模式就是一种 编程规范 架构层面的
2、设计模式之单例模式
单例:对象只能实例化(创建)一次就叫单例
单例模式:字面量的对象声明{},其实在设计模式中可以看作是一种单例模式,所谓单例模式,就是永远保持对象的一个实例。
3、设计模式之工厂模式
让对象的调用者和对象创建过程分离,当对象调用者需要对象时,直接向工厂请求即可。
从而避免了对象的调用者与对象的实现类似编码方式耦合,以提高系统的可维护性、可扩展性。
4、设计模式之观察者模式
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。
在一个构造函数中 通知另外一个构造函数 要实现的方法
举例理解 观察者模式:
eg: 小孩哭了 ---- 饿了 开始喂奶了
小孩哭了 通知父亲该给孩子喂奶了
function Child(dad, mum) {
this.dad = dad
this.mum = mum
this.cry = function () {
//观察者模式
// 小孩哭了 通知父亲该给孩子喂奶了
this.dad.weinai()
}
setTimeout(
function () {
this.cry()
}.bind(this),
Math.random() * 5000 + 300
)
}
function Dad() {
this.weinai = function () {
alert('给孩子冲奶粉~~~')
}
}
预告: 加油, 追梦人
学习就是一个不断进行的过程, 坚持下去, 定有收获!
日积月累, 巩固基础, 早进大厂!
坚持很不容易, 坚持下来更不容易, 你真棒!
Calm Down & Carry On!
更多阅读:
前文更新回顾
【重学 JS】每天学习巩固基础系列文章:
【重温 JS】继承的几种方式 & 闭包 & 单例模式、 【重温 JS】原型和原型链 | 工厂模式 | 构造函数、 【重温 JS】巩固基础-面向对象/面向过程/类和对象
【重温 JS】巩固基础之-ajax 原理/缓存/接口、 【重温 JS】巩固基础 day23-前端也要了解一些数据库
【day2】各种运算符、 【day3】数据类型、 【day4】循环结构 & 条件语句、 【day5】函数(重点)、 【day6】作用域 & 事件、
【day7】对象 & 数组方法总结、 【day8】字符串方法 & 部分排序、
【day9】Math 对象 & 封装函数、 【day10】BOM-浏览器对象模型、
【day12】Event 事件对象初识(一)、 【day13】Event 事件对象初识(二)、
更多期待在路上...任重而道远==-..-==