继上篇创建型设计模式之后,此篇博文主要记录结构型设计模式的学习过程,如果在某些地方表述不正确的,还希望大家能够指出,共同进步~
结构型设计模式
结构型设计模式是一类关注于如何将类或对象组合成更大、更复杂的结构的设计模式,主要应用于对象的组合。包括外观模式、适配器模式、代理模式、装饰者模式、桥接模式、组合模式以及享元模式。
外观模式
外观模式,为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统接口的访问更加容易。
继上篇创建型设计模式之后,此篇博文主要记录结构型设计模式的学习过程,如果在某些地方表述不正确的,还希望大家能够指出,共同进步~
结构型设计模式是一类关注于如何将类或对象组合成更大、更复杂的结构的设计模式,主要应用于对象的组合。包括外观模式、适配器模式、代理模式、装饰者模式、桥接模式、组合模式以及享元模式。
外观模式,为一组复杂的子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统接口的访问更加容易。
这段时间沉迷于学习JavaScript的设计模式,于是想着与之前所学的设计模式联系起来,对比学习。因为之前有了Java设计模式的部分基础,所以在学习JavaScript设计模式时会进行一些简单的比较记忆,主要的内容安排是模式的定义、模式对应的类图以及模式的简单实现。此篇博文主要记录创建型设计模式的学习过程,如果在某些地方表述不正确的,还希望大家能够指出,共同进步~
创建型设计模式是一类处理对象创建的设计模式,主要应用于创建对象。包括简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式以及单例模式。
简单工厂模式,又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。
这段时间主要学习了JavaScript的知识,不得不感慨js语言的强大与灵活。此次主要是对JavaScript中的继承进行学习记录与总结,但免不了涉及到面向对象编程、封装以及多态的相应知识。接下来我将先介绍什么是面向对象编程以及为什么要采用面向对象来进行编程,接着介绍一下面向对象中的重要特性——封装,然后介绍js实现继承的六种方法,最后简单介绍一下js实现多态的方式。此篇博文主要目的是想将此次的学习过程记录下来,以便进行后续的深入学习,如果在理解上有偏差的话,还请大家不吝赐教~
面向对象编程通俗来说,就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属性)和动作(方法)。
在Java语言中通过class关键字就可以很方便地声明一个对象,但在JavaScript语言中因为没有通过class实现类封装的方法,所以通常是通过一些特性模仿实现的,但这也带来了极高的灵活性,使我们编写的代码更自由。
继上一篇博文webpack,一个广泛应用的模块打包器(一)——概念篇完成之后,时隔一段时间没有学习webpack了,主要是最近有点小忙耽搁了。此篇博文主要是作为webpack的学习指南,理解和掌握webpack提供的各种工具和特性,主要目的是想将此次的学习过程记录下来,以便进行后续的深入学习,如果在理解上有偏差的话,还请大家不吝赐教~
首先需要你下载安装node.js 还没有下载安装?戳这里进入Node.js中文网进行下载安装,在使用webpack的过程中我们需要大量的使用node中的npm包管理工具,npm主要的使用场景有:
鉴于我在学习的过程使用webpack的频率较高,所以想着要记录一下webpack的一些核心的知识点,此博文涉及的知识点可能不深,但涵盖了webpack的主要内容,主要目的是想将此次的学习过程记录下来,以便进行后续的深入学习,如果在理解上有偏差的话,还请大家不吝赐教~
webpack 是一个现代JavaScript应用程序的模块打包器。当webpack 处理应用程序时,它会递归地构建一个依赖关系图,其中包含应用程序需要的每个模块,然后将所有这些模块打包成少量的bundle - 通常只有一个,由浏览器加载。在开始之前,我们需要先理解四个核心概念:入口(entry)、输出(output)、loader、插件(plugins)。
随着JavaScript的飞速发展,浏览器的发展速度却不能与之相匹配,为了能够在现有的浏览器上使用js新的语法和新的数据类型,这时我们便需要一个转码器。
Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码。Babel能将最新标准的JavaScript代码向下编译成浏览器普遍支持的版本,实现了“源码到源码”编译。比如,Babel能将新的ES2015的箭头函数语法:
1 const area = n => n * n;转译为
1
2
3 const area = function area(n){
return n * n;
};
因为在学习Vue等过程中涉及到Babel的一些知识点,所以想着大概了解一下Babel的主要内容以及基本用法,文章内容涉及不深,如果在理解和用法上有偏差的话,还请大家不吝赐教~