迭代器模式 Java 和 .Net 编程环境中非常常用的设计模式。用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 何时使用:用于遍历一个聚合对象,提供一种方法顺序遍历访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。: 1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、需 ...
分类:
其他好文 时间:
2016-06-27 19:53:39
阅读次数:
119
迭代器模式(Iterator) 定义 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 UML类图 角色 迭代器角色(Iterator): 负责定义访问和遍历元素的接口。 具体迭代器角色(Concrete Iterator):实现迭代器接口,并要记录遍历中的当前位置。 容器角 ...
分类:
其他好文 时间:
2016-06-26 16:41:30
阅读次数:
173
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 主要解决: ...
分类:
其他好文 时间:
2016-06-19 22:49:35
阅读次数:
133
解释: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不用的表示。 结构图: 优点: 可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以如需要改变一个产品的内 ...
分类:
其他好文 时间:
2016-06-12 18:20:30
阅读次数:
124
迭代器模式提供一种方法顺序访问聚合对象中的各个元素,而又不需要暴露该聚合对象的内部表示。对于该模式,估计几乎所有的人都使用过,在此直接给出类结构图参考如下: 如前所述,迭代器模式的思想主要是:一能提供顺序访问各个元素且不需要暴露内部细节;二是要能够访问具体 元素。从而达到简化聚合对象的接口的目的 。 ...
分类:
其他好文 时间:
2016-06-11 13:16:11
阅读次数:
142
1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表的区别是什么? 4.删除表的时候,内部表与外部表有什么区别? 5.load data local inpath '/home/wyp/data/wyp.txt' into table wyp;的过程是什 ...
分类:
其他好文 时间:
2016-06-08 19:06:52
阅读次数:
258
前一篇文章提到了在2014下分区表引起的奇葩问题,最近也在苦苦研究问题的原因。这篇文章主要讲述在分区表下,查询是怎么样的一个情况。由于2014的新功能“参数估计”下是如何运转的目前无从得知,所以只能分享下2008下的原理了... 在 SQL Server 2008 中,已分区表的内部表示形式已发生变 ...
分类:
其他好文 时间:
2016-05-17 22:38:16
阅读次数:
240
在重写这一步,我们拿到了查询SQL的内部表示,重写的目的是:
预优化SQL
避免不必要的操作
帮助优化器找到尽可能好的解决方案
重写器会在查询上匹配一系列规则,如果匹配一个规则就应用它重写查询,以下是部分可选的规则:
视图合并:如果你在查询中用了视图,那么视图就会被转换为一段代码;
优化子查询:由于一个子查询非常难以优化,因此重写器会修改子查询并删除子查询。
例如:
SELECT PERSON.*...
分类:
数据库 时间:
2016-05-12 18:02:58
阅读次数:
172
一.概述:迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。
二.适用性:
访问一个聚合对象的内容而无需暴露它的内部表示
支持对聚合对象的多种遍历
为遍历不同的聚合结构提供一个统一的接口
三.结构:
迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口
具体迭代器角色(Concrete Iterar...
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 下面举例实现: 首先定义抽象聚集类和具体聚集类 下面定义一个抽象迭代器类和具体迭代器类 客户端使用具体迭代器访问具体聚集类中的成员: 执行结果如下: 0 1 2 当你需要访问一个聚集对象,而且不管这些对象是什么都 ...
分类:
其他好文 时间:
2016-05-05 12:30:11
阅读次数:
127