迭代器(Iterator)模式,也叫做游标(Cursor)模式.我们知道,在Java 容器中,为了提高容器遍历的方便性,把遍历逻辑从不同类型的集合类中抽取出来,避免向外部暴露集合容器的内部结构. 一.迭代器模式介绍 迭代器模式也就是提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部…
  14.1.解释 概念:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示. main(),客户 IProject,产品接口 CProject,产品类 IIterator,迭代器接口 IProjectIterator,产品迭代器接口 CProjectIterator,产品迭代器实现类 说明:CProject实现产品类,能够返回一个迭代器的指针.这个迭代器将封装产品类里的一个数组.所以迭代器在运行Next函数时,可以遍历这个数组的所有元素. 简单来说,就是用代码实现vect…
  建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.一段晦涩难懂的文字,实现创建不同表示的方法就是给创建的过程传入创建的参数.详细的还是看代码吧. 10.1.解释 main(),客户 CCarModel,产品模型 CBenzModel,奔驰模型 CBMWModel,宝马模型 ICarBuilder,建造者接口 CBenzBuilder,奔驰建造者 CBMWBuilder,宝马建造者 CDirector,导演 说明:CCarModel实现模板方法,Builde…
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的,故我也打算借鉴一下. 测试代码下载 原有系统是使用VBA编写的,难以维护,且对新的操作系统如Windows 7.64位架构不支持,我准备用VSTO进行重写. 数据透视表是一种交互式的表,可以进行某些计算,如求和与计数等.所进行的计算与数据跟数据透视表中的排列有关. 数据透视表是一种完全自助式的报表…
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值. 1. 什么是序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中…
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://github.com/dmajkic/redis/downloads 如redis-2.4.5-win32-win64.zip下载完后将其解压放在自己要放的目录下如果你是32位的话就进32bit的文件夹,64位就进64bit文件夹 文件夹进去后会看到几个文件:redis-benchmark.exe: 性能…
Asp.net笔记 一.Socket类 进行网络编程的类,可以在两台计算机之间进行网络通讯 过程: 向服务器发送指令: GET /index.html HTTP/1.1 Host:127.0.0.1:8080 回车空行 二.浏览器是什么 浏览器就是一个Socket网络客户端,帮助用户请求网站服务器上的内容并且将返回的内容渲染为图形化内容 浏览器的过程: 用户在浏览器输入网址,浏览器向DNS服务器发出Socket请求, 服务器把请求的内容返回给浏览器, 浏览器将内容进行解析并渲染绘制成页面展现,…
相关博客: 吴恩达机器学习笔记(八) —— 降维与主成分分析法(PCA) <机器学习实战>学习笔记第十三章 —— 利用PCA来简化数据 奇异值分解(SVD)原理与在降维中的应用 机器学习(29)之奇异值分解SVD原理与应用详解 主要内容: 一.SVD简介 二.U.∑.VT三个矩阵的求解 三.U.∑.VT三个矩阵的含义 四.SVD用于PCA降维 五.利用SVD优化推荐系统 六.利用SVD进行数据压缩 一.SVD简介 1.SVD分解能够将任意矩阵着矩阵(m*n)分解成三个矩阵U(m*m).Σ(m*…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 我们除了可以通过广播接收器来接收系统广播, 还可以在应用程序中发送自定义的广播.下面我们来分别试一试发送自定义的标准广播和有序广播. 一.标准广播: 1)在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行: public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Cont…
经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的记录. 主要用到Microsoft.Xrm.Client.EntityExtensions.Clone方法来克隆数据,以及用OrganizationServiceContext来动态复制子单据的数据. 首先在界面上新加一个Clone的按钮,加一个new_clone的字段:点击按钮时,把new_clo…