搜索到与相关的文章
编程技术

设计模式之--命令模式

命令模式的意图一是将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;二是对请求排队或记录请求日志,以及支持可撤消的操作。简略图如下:命令模式通过对命令的封装,将命令的请求(调用者Invoker)和执行(接收者Receiver)进行了责任分离,委派给不同的对象,不仅使得调用者和执行者之间实现了解耦(命令的请求方就不需要知道接收方的接口,也不需要知道命令是如何执行的具体情况),还使得可以记录命令的执行记录,添加执行日志,使得命令的控制、执行、取

系统 2019-08-29 22:14:04 2161

编程技术

【Lucene3.0 初窥】索引文件格式(3):Field数据

注意:以下文章是参见http://lucene.apache.org/java/3_0_1/fileformats.html#Fields和实践中读取文件内容概括总结出来的。Fields数据磁盘文件存储细节Lucene的数据域在内存中组织成Document和Field数据结构。每次建立索引的Document对象都可能拥有不同的Fields,而查询的时候,也可以通过查询词找到文档的相关Fields信息(这些Fields在创建的时候必须是Field.Store

系统 2019-08-29 21:59:41 2161

编程技术

.NET简谈路由事件

本篇文章讲解关于路由事件的相关原理。什么叫路由事件,字面理解就是事件是可以传递,路由的意思也好理解。路由事件其实就是,事件是会随着某种变化,来回传递。路由事件其实在.NET2.0时期就已经存在了,只不过在一般开发过程中用不到。从C#3.0开始,就已经封装了关于路由事件的机制。其实这种实现应该可以换个名字来解释。我们可以给路由事件起个便于理解的名字,“事件的路由设计模式”。我们都知道,任何大的框架都是从微小的基本语法开始编写的,平台、语言给我们提供的仅仅是一

系统 2019-08-12 09:29:46 2161

各行各业

右键集成vs编译

适合vs2005以上,不过我这个注册表是针对2008的,如果是其他版本自己看着修改如果地址不是默认的请修改找到自己的MsBuild,2005的也自己找到后修改WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell][HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell\build]@="编译(Debug

系统 2019-08-12 09:27:23 2161

各行各业

让程序只启动一次 -- Mutex

有时在开发程序的时候,有时需要只能同时运行一个实例.Mutex类,称为互拆体,是一个同步基元,它只向一个线程授予对共享资源的独占访问权。当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。下面演示Mutex类来保证应用程序只有唯一实例usingSystem;usingSystem.Collections.Generic;

系统 2019-08-12 09:26:51 2161

各行各业

[Selenium]Turn Page By Scroll Bar

Description:Needtoturnpagebyoperatingscrollbarandfindouttheelementinthecurrentpage.PreviouspagewillnotexistinDOMstructurewhenturningpage.Solution:Getthetotalheight,buttonheight,scrollbarheightCalculatetotalmoveheight,totalMoveHeig

系统 2019-08-12 09:26:48 2161

各行各业

修改键盘中断描述符表

修改中断描述符表(IDT)中的键盘入口实现按健记录,把读取到的键盘扫描码转换成ascii码记录下来。查找键盘入口采用了查询IOAPIC的重定向寄存器的方法(通过把物理地址0xFEC00000映射为虚拟地址,然后读取键盘中断向量,最难得是没有xpsp2的限制了。这是我从别处转过来的驱动源码,WindowsXPCheckedBuildEnvironment测试过。#include#include#defineMAX_CHAR

系统 2019-08-12 09:26:46 2161

Python

猴子吃桃问题-python版

#!/usr/bin/envpython#-*-coding:utf-8-*-#题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个#第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下#的一半零一个。到第10天早上想再吃时,见只剩下1个桃子了。求第一天共摘了多少。#求解思路:设后一天的桃子数量为x,则前一天剩余的桃子数量为(x+1)×2#例如:第10天剩余1个#第9天剩余(1+1)×2=4个#第8天剩余

系统 2019-09-27 17:56:36 2160

Python

python常用知识梳理(必看篇)

接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n'等特殊字符的两种方式:a)利用转义字符‘\'b)利用原始字符‘r'printr'c:\now'2)单行注释,使用一个#,如:#helloPython多行注释,使用三个单引号(或三个双引号),如:'''hellopythonhelloworld'''或"""hellopythonhelloworld"""另外跨越多行的字符串。也可以使用三个单引号或三个双引号,如:

系统 2019-09-27 17:56:22 2160

Python

【跟着Head First学Python】3、结构化数据:处理结构化数据

上一章我们介绍了python中的列表,本章介绍其余三种数据结构:字典、集合和元组。1、字典字典有两个特点:其一,字典是由大括号{}包围的;其二,字典的每一个元素的模式都是“键:值”,而不是“键=值”,两个元素之间用逗号,隔开。注意,字典初始化的顺序不会保持,在初始化后,再次查看字典时,元素顺序可能变化。一般访问字典的数据时,使用中括号记法,中括号中是键,使用键来访问其关联的数据值。python字典的底层是一个大小可变的散列表。空字典的初始化就是一个空的大括

系统 2019-09-27 17:54:55 2160