设计模式
介绍常用设计模式概念和代码实现,欢迎关注。
Albert Yang
一代歌神,阿尔伯特·杨,一名Java程序员,正在学习前端。真正能让你走远的,从来都是积极自律与勤奋。
展开
-
不会吧不会吧,你不会还不知道这些提高JS代码质量的骚操作吧?
目录1 评价代码质量指标1.1 健壮性1.1.1 参数校验1.1.2 try, catch1.1.3 控制变量权限1.2 可扩展性1.2.1 模块分明1.2.2 高内聚低耦合1.2.3 用添加代替更改1.3可读性1.3.1 变量命名规范1.3.2 代码结构清晰2 设计模式2.1 用享元模式减少重复代码2.2 策略模式/状态模式2.3 装饰器模式3 总结1 评价代码质量指标1.1 健壮性程序的健壮性是指程序在执行时,在局部发生错误原创 2020-08-10 08:38:08 · 12556 阅读 · 83 评论 -
设计模式(12)[JS版]--JavaScript必会设计模式之外观模式(Façade Pattern)
目录1 什么是外观模式2 外观模式的主要的参与者3 代码实现4 实例应用4.1 跨浏览器事件4.2阻止默认和冒泡事件5 总结1 什么是外观模式外观模式为子系统提供了一个接口,它屏蔽一个或多个子系统的复杂功,提供了一个一致的界面(接口)给用户。外观模式是一个非常简单的模式,但它的功能却很很强大,非常有用。外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式可以将一些复杂操作封装起来,并创建一个简单的接囗用于调用,它经常出现在多层架构的系统中。外观模式的.原创 2020-08-06 22:09:35 · 3235 阅读 · 19 评论 -
设计模式(11)[JS版]-JavaScript中的注解之装饰器模式
目录1 什么是装饰器模式?2 装饰器模式的主要参与者有哪些3 代码实现4 实例应用5ES7 中的 decorator6 总结1 什么是装饰器模式?装饰器模式模式动态地扩展了(装饰)一个对象的行为,同时又不改变其结构。在运行时添加新的行为的能力是由一个装饰器对象来完成的,它 "包裹 "了原始对象,用来提供额外的功能。多个装饰器可以添加或覆盖原始对象的功能。装饰器模式属于结构型模式。和适配器模式不同的是,适配器模式是原有的对象不能用了,而装饰器模式是原来的对象还能用,在不改变原.原创 2020-08-05 23:38:20 · 6533 阅读 · 40 评论 -
设计模式(10)[JS版]-JavaScript如何实现组合模式???
目录1什么是组合模式2主要参与者3代码实现4应用实例4.1 表单验证4.1 图片阅读器5总结1什么是组合模式组合模式允许创建具有属性的对象,这些对象是原始项目或对象集合。集合中的每个项目本身可以容纳其他集合,创建深度嵌套结构。树型控件是复合模式的一个完美例子。树的节点要么包含一个单独的对象(叶子节点),要么包含一组对象(节点的子树)。组合模式用于简单化,一致化对单组件和复合组件的使用;其实它就是一棵树。 组合模式能对于工作能起到简化作用,组合...原创 2020-08-04 22:35:22 · 5850 阅读 · 45 评论 -
设计模式(9)[JS版]-JavaScript设计模式之如何实现桥接模式???
1什么是桥接模式Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。Bridge模式弱化了代码之间的耦合,将抽象和其实现分离,便于二者独立变化、让API更加健壮,有利于分层,提高组.原创 2020-08-03 22:53:18 · 4804 阅读 · 45 评论 -
设计模式(8)[JS版]-JavaScript设计模式之如何实现适配器模式???
目录1 什么是适配器模式?2 参与者3 实例讲解4 其它应用5 总结1 什么是适配器模式?适配器模式是将一个接口(对象的属性和方法)转换为另一个接口。适配器允许编程组件协同工作,否则由于接口不匹配而无法协同工作。适配器模式也称为包装器模式。适配器模式可以想象为我们日常生活中经常使用的接口转换器,实现两个或者多个不同的数据存储器进行数据交换,适配各自不同数据输出口的工具。适配器适用于客户系统期待的接口与现有API提供的接口不兼容这种场合。它只能用来协调语法上的差异问题。适配器.原创 2020-08-02 21:05:01 · 6572 阅读 · 38 评论 -
设计模式(7)[JS版]-JavaScript设计模式之原型模式如何实现???
目录1.什么是原型模式2 参与者3实例讲解4使用 Object.create实现原型模式4.1Object.create()的用法4.2 用Object.create实现继承4.2.1 单继承4.2.2 多继承4.3 propertyObject参数4.4 Polyfill4.5改写原型模式实现5 总结1.什么是原型模式原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式不单是一种设...原创 2020-07-27 22:18:55 · 6992 阅读 · 24 评论 -
设计模式(6)[JS版]-JavaScript如何实现抽象工厂模式?
目录1 学习目标2 什么是抽象工厂模式?3 抽象工厂模式作用4工厂模式参与者5 代码实现1 学习目标通过本篇文章的学习,你应当掌握以下知识:1 知道什么是抽象工厂模式?2 掌握抽象工厂模式的作用以及什么时候需要使用抽象工厂模式3 掌握使用JS实现抽象工厂模式的代码编写。2 什么是抽象工厂模式?抽象工厂模式提供了一种封装一组具有相同主题的单个工厂而无需指定其具体类的方法。即工厂的工厂;一个将单个但相关/从属工厂分组在一起的工厂,但未指定其具体类别。一个抽象工.原创 2020-07-24 21:28:39 · 4239 阅读 · 22 评论 -
设计模式(5)[JS版]-JavaScript如何实现工厂方法模式?
目录1 什么是工厂方法模式?2工厂方法模式作用3工厂方法模式参与者4 代码实现1 什么是工厂方法模式?在基于类的编程中,工厂方法模式是一种创建模式,该模式使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。这是通过调用工厂方法来创建对象的,而不是通过调用构造函数,该工厂方法在接口中指定并由子类实现,或者在基类中实现,并且可以选择由派生类覆盖。它提供了一种将实例化逻辑委托给子类的方法。工厂方法按照客户端的指示创建新对象。在JavaScript中创建对象的一种方法..原创 2020-07-23 20:52:03 · 5765 阅读 · 20 评论 -
设计模式(4)[JS版]-JavaScript如何实现建造者模式?
目录1什么是建造者模式2 建造者模式的作用和注意事项3.代码实现4总结1什么是建造者模式建造者模式(Builder)可以将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。也就是说如果我们用了建造者模式,那么用户只需要指定需要建造的类型就可以得到所需要的东西,而具体建造的过程和细节不需要知道。建造者模式实际,就是一个指挥者,一个建造者和一个用户。用户调用指挥者,指挥者调用具体建造者工作,建造者建造出具体的东西给用户。建造者模式我们在代码中经常用到...原创 2020-07-21 20:59:56 · 5444 阅读 · 37 评论 -
设计模式(3)[JS版]-JavaScript中的构造函数模式是什么?
上篇文章单例模式:https://blog.csdn.net/qq_23853743/article/details/1074515611什么是构造函数模式构造函数用于创建特定类型的对象一不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概,但是有特殊的构造函数。通过new关键字来调用自定义.原创 2020-07-20 22:23:20 · 4379 阅读 · 20 评论 -
设计模式(2)[JS版]---JavaScript如何实现单例模式?
目录1 什么是单例模式?2单例模式的作用和注意事项3代码实现4案例应用4.1 使用单例模式管理命名空间4.2 使用单例模式为不同命名空间的button按钮添加click事件,并且使他们之间能够互相通信1 什么是单例模式?单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访...原创 2020-07-19 21:58:24 · 2818 阅读 · 17 评论 -
设计模式(1)—什么是设计模式?设计模式的六大原则是什么?
目录1.什么设计模式2.设计模式的发展3.设计原则6大原则3.1 开闭原则3.2 里氏转换原则3.3 依赖倒转原则3.4 接口隔离原则3.5 合成/聚合复用原则3.6 迪米特原则1.什么设计模式软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。设计模式使代码开发真正工程化;设计模式是软件工程的基...原创 2020-07-12 16:59:19 · 6441 阅读 · 22 评论 -
从一碗小米粥谈装饰器模式,代理模式的区别
代理与装饰器场景描述代理即代替意思,可替代原类的所有功能,即和原类实现相同的规范。代理模式和装饰器模式很像。每天清晨起来,紧张的洗漱之后,来到楼下的早餐店,我通常都会要一碗小米粥,这时候盛粥的大姐姐通常会问一句加不加糖,我回答不加,这时候我就会得到一碗热腾腾香喷喷的小米粥。基础实现一个小米粥的接口:publicinterface MilletCon...原创 2019-09-18 07:22:50 · 2029 阅读 · 0 评论