设计模式-创建型模式-单例模式

2018-11-26
阅读 3 分钟
1k
确保同一时刻只有一个实例被访问。Ensure a class has only one instance, and provide a global point of access to it. 确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。

设计模式 开闭原则

2018-11-26
阅读 3 分钟
1.8k
设计模式 - 开闭原则即 对立与统一原则 什么是开闭原则 软件实体应该对扩展开放,对修改关闭,即实体应当通过扩展实现变化,而不是修改代码实现变化 什么是软件实体,项目或软件中按照一定逻辑规划划分的模块抽象 类方法 书店销售书籍 然后书写代码如下 {代码...} 书店出售小说类书籍,书写代码 {代码...} 其中,价格定...

设计模式 迪米特法则

2018-11-25
阅读 3 分钟
1.1k
设计模式 迪米特法则 只和朋友交流 Only talk to your immediate friends 只与直接的朋友通信。即每个对象都有耦合关系,对象之间有耦合。 定义老师类 {代码...} 然后定义体育文员,清查学生 {代码...} 定义学生类 {代码...} 最后定义场景 {代码...} 上方代码的问题,Teacher类有一个朋友类,即GroupLeader,并且Girl类...

设计模式 接口隔离原则

2018-11-25
阅读 3 分钟
1.8k
设计模式 接口隔离原则用类图说明 然后书写代码清单 {代码...} 接着,使用具体的类实现 {代码...} 对星探定义 {代码...} 然后对星探进行实现 {代码...} 接着书写场景 {代码...} 接着,要进行更改了。对好看的定义,发生了改变,那么就应该改变PettyGirl中的内容,但是已经在接口中定义了。那么就有问题了。即,接口承担...

设计模式 里氏替换原则

2018-11-25
阅读 4 分钟
1.4k
设计模式 里氏替换原则继续里氏替换原则。上回栗子为正方形不能被长方形继承,这次,具体 子类必须实现父类的方法 类图 对具体代码进行实践 {代码...} {代码...} 接着拥有枪,定义士兵 {代码...} 最后定义整个场景 {代码...} 在场景中,三毛需要什么枪支,就直接new 出一个枪支即可,然后其内通过抽象类获取到对象,然后...

设计模式 装饰器模式

2018-11-21
阅读 3 分钟
1.2k
设计模式 - 装饰器模式 作用 提供了将对象的行为动态的添加到系统现有类的功能, 这是名字的由来,装饰二字 JavaScript 使用js书写装饰器模式 {代码...} 上方完成了装饰器模式,使用构造函数,生成对象以后,在不影响构造函数的代码的同时,给新的对象,添加上了新的方法。即装饰 使用多个装饰对象 {代码...} 核心 在不...

设计模式-里氏替换原则

2018-11-19
阅读 3 分钟
1.5k
设计模式-里氏替换原则 优点 面向对象的语言继承必不可少的,有如下优点 代码共享,减少创建类的工作量 提高代码的重用性 提高代码的可扩展性 提高代码的可扩展性 提高产品代码的开放性 继承侵入性 只要继承,必须拥有父类的内容 降低代码的灵活性,子类必须拥有父类的属性和方法 增强耦合性。 提供规范 里氏替换原则,...

设计模式-单一职责原则

2018-11-16
阅读 2 分钟
1.7k
设计模式-单一职责原则单一职责原则使用的是创建型模式 创建型模式 创建型模式对类进行抽象 重点,创建型模式能够将对象的创建和和对象的使用分离。即使用创建型模式能够使得对象的创建,对象的使用分离。重点在于分离。 什么是单一的职责原则 设计模式有六大基本原则,单一职责原则,里氏替换原则,依赖倒置原则,接口...

虚函数 C++

2018-10-31
阅读 2 分钟
1.3k
基类中使用virtual关键字声明的函数,称为虚函数。虚函数的实现,通过虚函数表来实现的。即V-table 这个表中有一个类,用于储存虚函数的地址。解决其继承,覆盖的问题,用于保证其真实反映的函数。这样有虚函数的实例,将会储存在这个实例的内存中。即用父类的指针,操作子类的时候,通过虚函数表来实现找寻到父类。

TypeScript 函数

2018-10-30
阅读 2 分钟
1.3k
TypeScript 函数 函数类型 为函数定义类型 {代码...} 使用这种方式,为函数定义返回的类型 {代码...} 书写函数类型 {代码...} 书写函数类型,代表形参为baseValue和increment两个都为number类型,返回的也同样为number类型。 推断类型 {代码...} 会自动推断出类型 可选参数 默认参数 不能传递null和undefined作为参数。 ...

TypeScript 类

2018-10-23
阅读 15 分钟
1k
传统的js是使用函数和原型链的方式用来模拟类 es6中加入了类,class关键字 类 {代码...} 编译后的js文件如下es5 {代码...} es6 {代码...} 继承 在ts中可以使用类似于Java中的类的继承。 {代码...} {代码...} 超类 {代码...} {代码...} 公有私有,保护修饰符 public 默认 public为默认 {代码...} {代码...} private 保护...

TypeScript 接口

2018-10-21
阅读 11 分钟
1.7k
TypeScript接口 接口只读属性 使用关键字readonly定义只读的接口属性 {代码...} {代码...} 出现错误,如下 创建不可修改的数组 {代码...} 如果想要重新赋值,断言重写 当一个值有多个类型的时候,使用断言重写,确定一个新的类型 {代码...} {代码...} 类型断言很大程度上可以规范类型 函数类型的接口 {代码...} {代码......

JavaScript设计模式入坑

2018-10-18
阅读 1 分钟
1.4k
JavaScript设计模式入坑 介绍 设计模式编写易于维护的代码。 设计模式的开创者是一位土木工程师。Σ( ° △ °|||)︴,写代码就是盖房子。 模式 模式一种可以复用的解决方案。解决软件设计中遇到的问题。 设计模式的结构 如何编写一个新的设计模式一个设计模式将会产生如下的内容 模式名称 对模式名称的书写 上下文大纲 适用...

TypeScript入坑

2018-10-18
阅读 3 分钟
1.5k
TypeScript 入坑 安装 使用npm安装使用全局方式安装 {代码...} 编辑器 安装插件 [链接][链接]编译使用node.js进行编译 hello world 编写ts文件 {代码...} 编译 {代码...} 上方为编译好的js文件 {代码...} 类型注解 {代码...} 将其注解为string类型 变量声明 由于js没有块级作用域,使用var会出现以下问题 {代码...} 仍然...

webpack-基础

2018-10-17
阅读 3 分钟
965
webpack-基础貌似这些属于编译原理的内容。当时看了一点编译原理,当中的自动机,彻底懵。不过大概了解了一点内容。感觉webpack一个打包工具非常类似于一个编译器,将一个文件,转换为另外一个文件。

SVG绘制饼状图

2018-10-15
阅读 3 分钟
2.8k
SVG绘制饼状图昨天学习了基本的SVG,下面是使用SVG绘制饼状图 创建SVG空间 创建SVG 需要一个document.createElementNS()方法 一个一个setAttribute()方法 编写如下js,将会创建一个svg空间 {代码...} 关于document.createElementNS 和 document.getElement的区别 以及命名空间 命名空间 解决的问题:由于仅仅只有三个字...

SVG基础知识 Adobe Illustrator绘制SVG

2018-10-13
阅读 5 分钟
3.8k
SVGsvg在线编辑器 [链接] 多边形 使用的是polygon标签该标签能创建含有不少于三个边的图形。如下 {代码...} 效果如下 其坐标为路径 曲线 poliline 为曲线同样输入的为坐标此时为了和上一个区分,将file设置为不填充,设置描边为black {代码...} 效果如下 其中 填充为非零绕数原则 路径 path类似于笔的路径其拥有一个属性...

SVG可伸缩的矢量图形

2018-10-11
阅读 4 分钟
2.1k
SVG可伸缩的矢量图形SVG是对画该图形时的一些路径,做出精准的,必要的与分辨率无关的一种描述。即对矢量图的描述在此安利一个svg绘图的网址,可以直接手动绘图,然后生成相关的svg描述,即可实现图片

多媒体编程

2018-10-08
阅读 3 分钟
1.2k
多媒体和图形编程这个属于在客户端生成图片,可以减少服务器的压力 脚本化图片 web页面使用img元素,嵌入图片。img元素可以通过控制src属性来操控img。一个栗子,鼠标经过的时候,改变图片 当鼠标经过的时候,会触发两个事件,分别是onmouseover以及onmouseout两个 html如下 {代码...} js如下 {代码...} 由于要实现图片...

线性表

2018-10-08
阅读 14 分钟
1.2k
数据结构 - 线性表 线性表就是一个队列 类似于node.js的队列,但是感觉很像,也不清楚是不是 直接上题,♪(^∇^*) 使用线性表来储存一组学生信息,并支持常规的增删查改需要以下的几个子函数 建立顺序表 求线性表的长度 输出线性表 在线性表的指定位置插入一个元素 根据键值查找指定的元素 获取指定位置的元素信息 删除指...

Python 小入坑

2018-10-03
阅读 4 分钟
1.3k
官网 [链接]官方文档 [链接]github [链接]特点 简单,易学,开发快速分类 解释型语言,面向对象,动态数据类型的高级语言,其开源遵守GPL协议。支持多种编程范式, 面向对象,函数,过程,命令式。拥有动态类型系统和垃圾回收功能。创始人 Guido van Rossum 属于高阶动态类型编程语言注:不打算深入学习,基础语法过完,...

cookie

2018-09-28
阅读 3 分钟
815
除了名(name)和值(value),cokie持续有效时间很短,只能持续在web浏览器的会话期间。一旦用户关闭浏览器,用户保存的数据就全部丢失。cookie需要设置有效期。即设置max-age属性,通过设置其属性完成对cookie有效期的设置。设置了有效期以后,cookie数据会储存在一个文件中,直到过了指定的有效期才会删除文件。cookie拥有...

localStorage sessionStorage

2018-09-27
阅读 2 分钟
1.3k
之前一刷新页面,直接被清除,后来发现是浏览器插件引入的js脚本,导致出现问题,在思考,如何验证网页是否被插入js脚本,即,类似于掘金社区的,每次访问都会提示,被插入脚本。此有一个专业术语,叫SRI

微信小程序网络通信(一)

2018-09-24
阅读 3 分钟
2.3k
支持request 普通网络请求。支持套接字通信 WebSocket支持上传文件 uploadFile支持下载文件 downloadFile

微信小程序插件

2018-09-23
阅读 4 分钟
5.2k
微信小程序插件 介绍 微信小程序插件是对一组js接口,自定义组件或页面的封装,用来嵌入微信小程序中,用来被开发者调用。 微信小程序必须嵌入到其他程序中才能使用。 插件具有独立的api,域名列表。 开始 创建插件项目 完成以后界面如下 创建完成以后目录如下 {代码...} 插件的目录结构 示例的文件目录如下所示 说明,...

第三方的css并不安全

2018-09-22
阅读 3 分钟
1.6k
翻译一篇文章 标题,第三方的css并不安全 文章源地址 [链接] 前几天,有很多关于css的键盘记录器的相关的消息。 css 键盘记录器 [链接] 很多人要求浏览器进行修复,也有些人发现影响了类似React框架的内构建的网站。 第三方图像 {代码...} 如果包括三方的代码,网站examp.com可以通过删除图片达到返回404的目的,让网站...

js 中的class

2018-09-20
阅读 2 分钟
1.5k
js的class仅仅为一个语法糖,是在原先构造函数的基础上出现的class,仅仅如此。所以使用构造函数构造类,或者使用class语法糖构造类都是相同的。具体还是使用prototype和this来进行模拟类。

微信小程序自定义组件(二)

2018-09-18
阅读 8 分钟
3.3k
微信小程序自定义组件 ps 由于作业部落貌似出了点问题,耽误了点时间,找了一个stackedit.io准备写。无奈,这是要自己建编辑器的节奏啊。没有一个能靠的注 为何存在组件 组件间的关系 使用relations实现组件的关系,即父子关系。 定义和使用组件间的关系 有时需要使用如下的组件间的关系 {代码...} 在上方中,两个<cu...

微信小程序自定义组件(一)

2018-09-15
阅读 10 分钟
8.3k
微信小程序自定义组件微信小程序支持自定义组件下方的目录其中,components为组件目录,nodemodules为模块目录,pages为小程序的页面目录,utils为一些基础功能的封装。好比安装的第三方百度统计功能在此。

微信小程序自定义组件

2018-09-03
阅读 4 分钟
3.5k
wxs 一种类似于js的小程序脚本语言。注意; wxs 文件不依赖于运行时的库。 wxs 与js是另外一门语言。 wxs于js的运行时完全隔离的,不能调用js中的函数,不能调用小程序提供的api 不能进行回调 总结一下 总结一下当前的内容wxs类似于一门脚本语言,使用的是导出的方式来进行和wxml进行连接,类似于node.jswxml为页面显示...