JavaScript设计模式入坑-阿里云开发者社区

开发者社区> mysoul8021> 正文

JavaScript设计模式入坑

简介:
+关注继续查看

JavaScript设计模式入坑

介绍

设计模式编写易于维护的代码。

设计模式的开创者是一位土木工程师。Σ( ° △ °|||)︴,写代码就是盖房子。

模式

模式一种可以复用的解决方案。解决软件设计中遇到的问题。

设计模式的结构

如何编写一个新的设计模式
一个设计模式将会产生如下的内容

模式名称

对模式名称的书写

上下文大纲

适用的上下文

问题陈述

对需要解决的问题进行陈述

解决方案

对问题的解决

设计

模式的设计

实现

如何实现该设计模式

插图

UML图表示

示例

最小模式的形式实现

辅助条件

需要哪些模式支撑该模式,即依赖

关系

像哪些模式,仿照哪些模式设计出的

已知的用法

是否广泛的使用。
在哪里使用。
如何使用

讨论

带来什么好处

编写设计模式

没有和使用该模式的交互和明确的解决方案即不是好的设计模式。
一旦熟悉了模式的相关信息即可以使用现有的格式编写模式。

例如 Christian Heilmann https://christianheilmann.com/ 创建的Revedling Module模式

模式的实用有多少?

需要哪些实践?

设计模式对用户来说为透明的。

需要有说服力

反模式

如果一个设计模式应用于错误的上下文中,为反模式,即一种错误的
例如下方的反模式

  1. 全局上下文中定义变量,没有使用闭包用来包裹变量
  2. 使用定时器来执行代码,会触发eval的问题。
  3. 修改Object类的原型
  4. 以内联的形式使用js
  5. 应该使用document.createElement()创建节点,而不是使用document.write

设计模式的类别

设计模式是基于面向对象的语言。但是核心在于解决实际遇到的问题。

创建型设计模式

处理对象的创建。用来创建对象。
构造器模式,工厂模式,抽象模式,原型模式,单例模式,生成器模式

上方使用过工厂模式

结构型设计模式

找出不同对象之间建立关系的简单方法。
装饰着模式,外观模式,享元模式,适配器模式,代理模式。

行为设计模式

系统中的对象的通信
迭代器模式,中介者模式,观察者模式,访问者模式。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
javascript设计模式--封装和信息隐藏(下)
  今天讲解的内容是高级模式(Advanced Patterns),如何实现静态方法和属性,常量还有其他一些知识点。   1.静态方法和属性   其实要实现这一功能还是要借助于闭包。在上一讲中的第三种实现方式也使用了闭包,但通过那种实现,内部属性和方法是实例级别的。
731 0
《JavaScript设计模式》——1.8 方法还可以这样用
没错,但是你发现没,你调用了3个方法,但是你对对象a书写了3遍。这是可以避免的,那就要在你声明的每一个方法末尾处将当前对象返回,在JavaScript中this指向的就是当前对象,所以你可以将它返回。例如我们开始写的第一个对象还记得么?改动它很简单,像下面这样就可以。
1009 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12070 0
javascript设计模式--继承(上)
  本章的主题是继承,分为上下两部分来介绍,上主要来介绍call和apply方法,下用来介绍继承的几种实现方式。   在介绍继承的时候,call和apply是一个绕不过去的话题,也是大家需要深入了解的知识。
648 0
javascript设计模式--继承(下)
  本章的主题是继承,在javascript中要实现继承比其他面相对象语言要复杂的多,他主要使用原型实现继承。下面就介绍几种常用的实现继承的方式。   1.经典继承(Classical Inheritance)   我们首先创建一个Person类。
591 0
《JavaScript设计模式》——1.10 可以链式添加吗
本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.10节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看
963 0
+关注
mysoul8021
佛系中
144
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载