4 merlinlock

尚未进行身份认证

自律给我自由

等级
博文 49
排名 13w+

设计模式—策略模式

今天我们来讲策略模式:策略模式就是见人说人话,见鬼说鬼话。不同的情况下,用不同的算法(实例)统一的情景接口:interfaceStrategy{say();}说人话与说鬼话情景以及操作://见人情景classStrategyPersonimplementsStrategy{say(){return"人话";...

2019-06-11 19:23:39

设计模式—备忘录模式

假期;两天没有更新,因为懒!今天我们来了解备忘录模式。其实在备忘录模式里面,当你的状态只有当前与之前两种的时候,Caretaker其实可以没有,直接由Memento来进行set与get的操作就可以了。备忘录模式和我们在现实里面的备忘十分相似。或者说和存档十分的相似。一个备忘录(存档)需要有获取存档,设置存档的基本操作(Originator)。而存档这个本身的档案需要有一系列的数据单...

2019-06-10 09:43:12

设计模式—组合模式

端午快乐!!!过节,所以晚了点。今天我们讲组合模式!组合模式看起来是不是觉得和建造者模式很像!确实很像,但是却不是。建造者模式像是一个端午节粽子礼包,你用肉粽子,甜粽子等等将这个礼包装满了,这是建造者模式。而组合模式则是你在网上统一挑选粽子礼包,虽然都是粽子礼包,但是礼包分为不同的种类,不同种类的礼包组合成了名为粽子礼包的大选项。套用书本的知识:组合模式,有点树的意思。...

2019-06-07 23:11:59

设计模式—命令模式

废话不多说:命令模式顾名思义:就是通过命令来进行方法的调用,业务的处理。看以上的uml图,你会觉得十分难看懂,一个简单的命令怎么生出那么多东西呢!!!!其实我一开始也没看懂,看到代码后也觉得是脱裤子放屁——多此一举。现在我也觉得是这样。我来用自己的思考来讲一讲命令模式:1.既然是命令那么,自然有命令类(Command)2.使用命令的人需要知道有什么命令3.命令需要被处理(Rece...

2019-06-06 11:51:49

设计模式—状态模式

老样子:其实状态模式怎么说呢:就是这样,当然你也可以写上千行的if语句,不过很难维护啊!!!!继续提示:依赖倒转原则状态抽象类:interfaceState{statichandle(Stringstate);}具体实现了:ConcretreStateAimplementsState{statichandle(Strings...

2019-06-05 11:18:50

设计模式—享元模式

之前在讲单例模式的时候,我就提到过单例模式和享元模式很类似,今天我们就来讲一讲享元模式。享元模式其实理解起来很简单:能共享的共享(一个实例对象),不能共享的自用(多个实例对象)再次强调:依赖倒转原则享元模式很像现在养二胎。假设现在你有两个孩子,一个七岁,一个五岁。那么七岁孩子的衣服,玩具就可以和五岁的孩子共享,不需要买新的。但是吃的零食则需要额外进行购买,这些是不能共享也无法共享的。...

2019-06-04 09:43:22

设计模式—中介者模式

在之前,我们讲述了代理模式,今天我们将讲解一下中介者模式。依旧是一个提醒:依赖倒转原则中介者模式其实和代理模式很像,都是通过一个额外的类进行调用。中介者模式其实和字面的意思听起来很是相似,例如你买房子找中介,你和卖房子的人之间的交互都是通过中介来实现的,中介者模式也是这样。即当一个非中介者想要和另一个进行交互的时候,它需要通过调用中介者进行。所以在类里面,两个非中介者需要知道中介者这...

2019-06-03 10:17:29

设计模式—代理模式

废话不多说:什么是代理模式?代理在百度解释里面的意思:暂时代人担任某单位的负责职务,因此显然意见,被代理者的功能代理者都需要拥有。同时使用者直接面对的是代理者而不是具体的被代理者。依赖倒转原则:依赖接口编程!对象抽象类:interfaceSubject{request();}被代理类:interfaceConcreteSubjectimplementsSu...

2019-06-02 10:37:41

设计模式—观察者模式

观察者模式,对于前端的朋友这个词估计会听到很多,毕竟vue就是运用了观察者模式。依旧是老样子,定义,uml图:依旧是老生常谈的一个概念:依赖倒转原则(依赖接口进行编程)在写代码之前,我们先来聊聊观察者模式,这样便于理解。根据定义,我们可以看到在观察者模式里面一共有两个角色,一个是被观察的对象,一个是观察对象。当被观察的对象某些状态发生改变的时候它要去通知观察的对象,让观察对象进行相应的...

2019-06-01 10:58:55

设计模式—原型模式

原型模式依旧属于创建者模式依旧先看定义,在看UML图是不是感觉看起来很蒙逼?其实原型模式最重要的就是克隆这个操作了。原型模式创建一个对象的方式不是new而是实例对象本身的复制!(这里和JS中的prototype有些不同)来看代码吧先:原型类的接口(依赖倒转原则:依赖接口编程):interfacePrototype{Prototypeclone();}原型的具体...

2019-05-31 09:53:01

设计模式—工厂模式与抽象工厂模式

工厂模式与抽象工厂模式都属于创建型模式两者一般会在书籍里面分开来讲,但是我觉得两者其实在本质上没有什么大的区别,反而有一种互通的地方,因此我们会把它们放在一起。老样子,我们来看他们的定义与UML图。看出来有什么相似的地方了么?其实两个模式都是一样的,只是抽象工厂模式将抽象更进了一步,什么都用抽象,在具体的客户端调用的时候也用抽象来调用。而工厂模式就是有什么用什么,不来虚的。继续提...

2019-05-30 09:36:07

设计模式—建造者模式

建造者模式属于创建型设计模式,它还是为了用来创建一个对象。首先来看看它的定义:然后我们来看看它的UML图:在这里我们继续强调为什么会有一个Builder抽象接口,因为根据依赖倒转原则,我们应该面向接口编程。建造模式就相当于搭积木,你想得到一个具体的东西,比如一个积木大楼,那么你就要一部分一部分的先建造然后整合在一起称为一个积木大楼。在建造模式使用的时候,我们应该知道最后我们需要的实例...

2019-05-29 10:22:31

设计模式——单例模式

设计模式分为两种类型:1.创建型模式:这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。2.结构型模式:这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。单例模式属于创建型模式首先我们来看看单例模式的定义:通过类的方法获取到唯一的一个实...

2019-05-28 09:34:08

设计模式—六大原则

设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问...

2019-05-27 09:49:44

HTML+CSS入门

网上的基础入门一堆,大部分都是给你一堆书籍,让你去看。其实入门就是入门,入门就是简单而明确,下面就是我自己整理的一些入门知识:

2019-04-28 10:54:03

带你彻底弄懂Event Loop(转载)

带你彻底弄懂EventLoop

2019-04-19 14:19:36

组件中如何将html中的表达式变成代码执行

html内的模版如何变成代码执行

2019-04-19 11:14:52

一些简单的正则小题目(含个人解答)

1.完成extname函数,它会接受一个文件名作为参数,你需要返回它的扩展名。例如,输入emoji.png,返回.png。constextname=(filename)=>{/*TODO*/varmatchList=filename.match(/.+(\.[a-zA-Z]+)/);//通过正则()获取后缀returnmatchLis...

2019-04-18 14:04:01

如何在组件开发中实现方法形参位置随意却依然能够正确执行

组件中如何防止调用者形参乱传入

2019-04-17 15:41:41

多线程的简单介绍(翻译)

现代电脑已经具有同一时间执行多个操作的能力。由于硬件的发展以及更智能的操作系统的支持,我们的程序可以执行反馈的更快。由于这个巨大的能力(同一时间执行多个操作),编程变得十分神奇同时又十分复杂。这项巨大的能力使得你必须去理解电脑内部的执行原理。在第一节中,我将解开多线程的一角,讲解多线程这项如此有魔力的东西。进程与线程:以正确的方式命名事物现代的操作系统可以在同一时间执行多个程序。那就是为什么...

2019-04-15 14:54:19
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。