Web开发应了解的5种设计模式🍊
什么是设计模式?
设计模式是对软件设计开发过程中反复出现的某类问题的通用解决方案。设计模式更多的是指导思想和方法论,而不是现成的代码,当然每种设计模式都有每种语言中的具体实现方式。学习设计模式更多的是理解各种模式的内在思想和解决的问题,毕竟这是前人无数经验总结成的最佳实践,而代码实现则是对加深理解的辅助。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
在本文中,我将介绍其中常见的四种设计模式在JavaScript中实际使用场景:
单例设计模式
定义
单例模式仅允许类或对象具有单个实例,并且它使用全局变量来存储该实例。
- 实现方法是判断是否存在该对象的实例,如果已存在则不再创建
- 使用场景适用于业务场景中只能存在一个的实例,比如弹窗,购物车
实现
单例模式分为懒汉式和饿汉式:
- 懒汉式
let ShopCar = (function () { let instance; function init() { /*这里定义单例代码*/ return { buy(good) { this.goods.push(good); }, goods: [], }; } return { getInstance: function () { if (!instance) { instance = init(); } return instance; }, };})();let car1 = ShopCar.getInstance();let car2 = ShopCar.getInstance();car1.buy('橘子'); car2.buy('苹果'); console.log(car1.goods);//[ '橘子', '苹果' ]console.log(car1 === car2); // true
- 饿汉式
var ShopCar = (function () { var instance = init(); function init() { /*这里定义单例代码*/ return { buy(good) { this.goods.push(good); }, goods: [], }; } return { getInstance: function ()