主要内容: 1: 装饰器函数 a: 原理: 在不改变原函数的代码和调用方式的情况下, 给函数动态的添加功能 b: 实例: 装饰器函数形式 2 母版继承 a : 作用: 可以减少代码量, 优化代码, 提高代码的复用性 类似于函数中的继承. (把相同的代码段提取出来, 不同的地方作为补充) b : {% ...
分类:
其他好文 时间:
2018-10-08 20:43:35
阅读次数:
156
一、定义 定义:在不改变原有对象的基础上,将功能附加到对象上 提供了比继承更有弹性的替代方案(扩展原有对象功能) 类型: 结构型 二、使用场景 扩展一个类的功能或者给一个类添加附件职责 动态给一个对象添加功能,这些功能可以再动态的撤销 三、优点 继承的有力补充,比继承灵活,不改变原有对象的情况下给对 ...
分类:
其他好文 时间:
2018-10-07 15:38:06
阅读次数:
152
题目链接 这道题目要求在含有n+1个数字的数组中找出唯一一个出现多次的数字,而这些数字的范围是1-n,要求不改变数组本身以及常数空间。 首先我想到的办法是用Bitmap,即一个整型的数字X来表示某个数字是否出现过,如果出现过,那么就在X中对应的位置1。但是这个前提即使n不能太大了,否则整型的数字存储 ...
分类:
其他好文 时间:
2018-10-06 16:35:51
阅读次数:
135
定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。 类型:行为类模式。 类图: 事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结 ...
分类:
其他好文 时间:
2018-10-04 23:59:13
阅读次数:
313
定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 类型:行为类模式。 类图: 访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下: 我们主要来看一下在类A中,方法meth ...
分类:
其他好文 时间:
2018-10-04 23:52:40
阅读次数:
162
一、UML图 介绍 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 我们通过下面的实 ...
分类:
编程语言 时间:
2018-10-04 20:29:38
阅读次数:
229
索引是定义在存储表(Table)的基础之上,有助于无需检查所有记录而快速定位所需记录的一种辅助存储机构,由一系列存储在磁盘上的索引项(index entries)组成,每一索引项又由两部分构成:索引字段和行指针 存储索引项的文件为索引文件,存储表称为主文件。 索引的存在与否不改变存储表的物理存储结构 ...
分类:
其他好文 时间:
2018-10-02 20:09:21
阅读次数:
152
模板设计模式定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。 通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步 ...
分类:
其他好文 时间:
2018-09-29 22:02:31
阅读次数:
179
转自: http://blog.51cto.com/linhongyu/1615895 一、前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目A中切换数据源,直接把数据写入项目B的数据库中。这种需求,在数据同步与定时任务中经常需要。 那么问题来了,该如何解决多 ...
分类:
编程语言 时间:
2018-09-29 15:24:58
阅读次数:
204
数组在javaScript中是一个引用值,下面列举在学习中遇到的一些数据常用方法 1. 改变原数组 push(), pop(), shift(), unshift(), sort(), reverse(), splice() 2. 不改变原数组 concat(), join(), split(), ...
分类:
编程语言 时间:
2018-09-28 01:30:08
阅读次数:
594