模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变 ...
分类:
其他好文 时间:
2019-11-17 01:22:24
阅读次数:
60
一、ES6 什么是:ECMAScript第六个版本 优点:在不改变原理的基础上,简化了js代码 问题:兼容性 包括: 1.let 什么是:专门代替var来声明变量的 为什么:var的问题: 1.声明提前 2.没有块级作用域 何时:只要声明变量都用let 优点: 1.阻止了声明提前 2.添加了块级作用 ...
分类:
其他好文 时间:
2019-11-16 23:11:55
阅读次数:
72
装饰器 什么是装饰器? ? 装饰器是一个函数,主要作用是用来给包装另一个函数或者类 包装的目的是不改变原函数名(或类名)的情况下改变或添加被包装对象的功能 函数装饰器 是指装饰器是一个函数,传入的是一个函数,返回的也是一个函数 语法: 示例: 函数的文档字符串 函数内第一次末赋值给任何变量的字符串是 ...
分类:
编程语言 时间:
2019-11-13 10:42:27
阅读次数:
71
在日常的代码编写中定义一个函数反复使用之后,就会发现代码不够完善或者是想给函数增加一些功能, 又想让代码看上去很直观不复杂,而且还能不改变原来的调用方式我们就会用到装饰器,下面就一步一 步的来了解下python装饰器吧! 一般情况下,我们要给原来的代码增加功能,最直接的办法就是侵入代码里面修改,例如 ...
分类:
编程语言 时间:
2019-11-12 12:40:42
阅读次数:
74
CF379F New Year Tree 分析: 树的直径就是每次求树中最远的两个点。 在一棵树上快速计算两两点之间的距离,可以用倍增。 设现在树上最远的两个点为L和R。 若在u处加两个点,直径会+1或者不改变。 对这两个点求一下到L的距离,和到R的距离,看会不会使答案更优,如果使得答案更优,就把L ...
分类:
其他好文 时间:
2019-11-11 21:44:06
阅读次数:
118
一、模板方法模式定义 定义一个操作中的算法的框架,二将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 Abstract-Class叫抽象模板,它的方法分为两类: 1.基本方法 基本方法也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。 2.模板方法 可 ...
分类:
其他好文 时间:
2019-11-11 21:43:20
阅读次数:
78
注解: 从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。SSM项目中存在各种注解,因为后续会手写这 ...
分类:
编程语言 时间:
2019-11-10 09:22:47
阅读次数:
100
1.概述 转到分布式版本控制系统看起来像个令人生畏的任务,但不改变已用的工作流你也可以用上 Git 带来的收益。团队可以用和 Subversion 完全不变的方式来开发项目。 但使用 Git 加强开发的工作流,Git 比 SVN 有几个优势。首先,每个开发可以有属于自己的整个工程的本地拷贝。隔离的环 ...
分类:
其他好文 时间:
2019-11-09 23:41:22
阅读次数:
90
[TOC] 前置要求 带旋转的平衡树会改变祖先关系,这令可持久化变得困难。所以需要使用非旋的平衡树,如 "非旋treap" 。本文以非旋treap为例。 核心思想 可持久化的数据结构,其核心都是不改变历史的信息。当需要对信息进行修改的时候就新开一个节点,继承历史信息,然后再进行修改。 对于非旋tre ...
分类:
其他好文 时间:
2019-11-09 13:28:54
阅读次数:
93
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的 ...
分类:
其他好文 时间:
2019-11-05 10:46:13
阅读次数:
68