本文继续介绍23种设计模式系列之观察者模式。定义在软件构建过程中,集合对象内部结构常常变化各异,但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为同一种算法在多种集合对象上进行操作提供了可能。使用面向对象技术将这种遍历机制抽象为“迭代器对象”为“应对变化中的集合对象”提供了一种优雅的方式。迭代子(Iterator)模式又叫游标...
分类:
编程语言 时间:
2015-04-17 08:28:43
阅读次数:
172
//传入对应的需要打包的file 集合对象//文件打包下载 public static HttpServletResponse downLoadFiles(List files, HttpServletRequest request, HttpServletResponse response) .....
分类:
编程语言 时间:
2015-04-15 13:25:51
阅读次数:
181
迭代器模式 定义参考 wiki:Iterator pattern 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。 ------- 节选自 《大话设计模式》P207 我们可以将迭代器模式抽离出几个...
分类:
Web程序 时间:
2015-04-11 06:32:08
阅读次数:
181
官方解释:to access the elements of an aggregate object sequentially without exposing its underlying implementation.
顺序地访问集合对象的元素并且不暴露它的内部实现
假设给定一个集合对象,定义一个与之相关联的Iterator(迭代器),该迭代器能够访问集合对象的内部元素,通过迭代的方法能够按照顺序依次访...
分类:
其他好文 时间:
2015-04-10 22:26:50
阅读次数:
201
集合对象是一组无序排列的可哈希的值,集合中不包含重复的值。通常用于包含成员测试、移除序列中的重复元素和数学操作运算,例如:交集、联合、差异和对称差等。
集合支持in和not in操作,len()操作,和在for循环中迭代集合成员。但由于集合是无序的,你不能为集合创建索引、切片、或者其他类似的序列行为。
集合包含可变集合(set)和不可变集合(frozenset)。set不能用于字典的键(key...
分类:
编程语言 时间:
2015-04-07 17:49:45
阅读次数:
166
一、什么是类和对象
* 类是模子,确定对象将会拥有的特征(属性)和方法
* 类的特点:
* 类是对象的类型
* 具有相同属性和方法的一组对象的集合
* 对象的属性
* 属性-对象具有的各种特征
* 每个对象的每个属性都有用的特定值
* 对象的方法
* ...
分类:
编程语言 时间:
2015-04-03 23:58:45
阅读次数:
325
// 创建集合对象 HashMap hm = new HashMap(); // 创建元素 Teacher t1 = new Teacher("小明", 19); Teacher t2 = new Teacher("小刚", 15); ...
分类:
其他好文 时间:
2015-04-02 14:41:25
阅读次数:
191
DataGridView它只能指定数据源,可以做为数据源的有:集合或者数组,数据库表如何指定:this.控件.DataSource=数据表this.控件.DataSource=new BindingList(集合对象);如何生成列结构:数据源操作会:控件会根据数据源的数据生成对应的列集合,如果数据源...
分类:
其他好文 时间:
2015-04-01 19:10:29
阅读次数:
140
LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量中被查询的值 [group by 条件]Lambda表达式的书写格式如下:(参数列表) => 表达式或者语句块其中: 参数个数:可以有...
分类:
数据库 时间:
2015-04-01 17:04:19
阅读次数:
222
一、Struts2标签的优势标签库简化了用户对标签的使用结合OGNL使用,对于集合、对象的访问功能非常强大提供可扩展的主题、模板支持、极大简化了视图页面的编写不依赖任何表现层技术Struts2标签的分类:通用标签(Generir Tags)数据标签(Data Tags)控制标签(Control Ta...
分类:
其他好文 时间:
2015-04-01 00:11:55
阅读次数:
340