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

设计模式中结构型模式(五)外观模式(Facade)

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更容易使用。将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标浊使子系统间的通信和相互依赖关系达到最小。达到该目标的途径之一是就是引入一个外观(facade)对象,它为子系统中较一般的设施提供了一个单一而简单的界面。在遇到以下情况使用Facade模式1、当你要为一个复杂子系统提供一个简单接口时。2、客户程序与抽象类的实现部分之间存在着很大

系统 2019-08-29 23:17:43 2121

编程技术

第二章:第一节(一个简单的标签显示)

一个查找框的教程,就是将第一章全部内容进行整合复习publicclass第一节_子类化QDialogextendsQDialog{/***@paramargs*/QLineEdit可写东西的行;QCheckBox全词匹配选项;QCheckBox上一个选项;QPushButton查找按钮;publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubQApplication.initiali

系统 2019-08-29 23:15:22 2121

编程技术

我看凯立德GPS软件的规划问题

KLD(凯立德)是国内GPS软件的新锐,最近两年进步较快,在前装市场份额上升也较快。最近,KLCC系的新版已经推出,除了地图更新外,软件界面和功能调整较多,操作开始较多得采用向导式,适合初级用户使用。我测试的是所谓T系列的GPS软件,其实就是KLD原来软件的升级,最近一些GPS技术论坛放出11194杂交、P9901等测试版本,“机油”们都迅速跟进测试。其实,我个人认为KLD这种软件策略很好,有点类似微软做市场的方式,通过开放的机制使软件得到充分的测试和扩大

系统 2019-08-29 23:09:17 2121

编程技术

Hibernate源代码分析(一):设计属于我的Session

过完五一长假,花了四天的时间来学习Hibernate框架的使用,作为门外汉,先是从sourceforg.net下载Hibernate3.2,先看官方文档,只有一个提纲,了解了一下各个包的结构,便开始根据Toturial实践,基本掌握了它的使用方法之后,盟生了实现自己的SessionFactory和ConnectionProvider的想法。闲话少说,要实现我的SessionFactory和ConnectionProvider,不深入了解该体系结构是不行的,

系统 2019-08-29 22:22:57 2121

编程技术

编程语言的发展趋势:声明式动态并发

这是一篇发表在《程序员》杂志8月刊的文章,是根据我对AndersHejlsberg的演讲内容的翻译的缩写。原本的完整演讲内容有数万字,为了在杂志上发表因此简化成了五千字,因此如果您对完整内容感兴趣,不妨根据文末链接来访问完整内容,其中也包含大量分解的幻灯片以及代码。程序设计离不开编程语言,但是编程语言在国内的大环境中似乎一直是个二等公民。国内的计算机教育和工程培训,似乎一直在宣传“语言不重要,重要的是思想”,“语言一通百通”等观点,甚至在许多人眼中“语言的

系统 2019-08-29 22:12:46 2121

编程技术

【排序结构4】 归并排序

归并排序O(N*logN)是另一种效率很高的排序方法。"归并"的含义就是将两个或两个以上的有序表组合成一个有序表。加入两个有序表的长度分别为m、n,则一次归并的时间复杂度为O(m+n)。我们可以用"归并"的思想来实现排序。假如待排序列含有n个关键字,则可看成是n个有序的子序列,每个序列长度为1,然后两两归并,得到[n/2]个长度为2或1的子序列,在两两归并....,知道得到一个长度为n的有序序列为止。这就是2-路归并算法。下图就是2-路归并排序的一个例子:

系统 2019-08-29 21:59:43 2121

编程技术

代码复用应该这样做(3)

但假如被合并的代码所在的类具有某种并列关系,甚至是同一个父类下的多个子类,或者同一接口的多个实现类,则我们可以采用继承的方式解决代码复用的问题。具体做法是这样的,第一步还是整理原有的代码,通过比较,将需要重构的多份原代码中相同的与不同的代码整理出来。在整理过程中,可以将不同的代码,保留在各自的原程序中,而将相同的代码抽取出来成为独立的函数。这些函数就是我们后面需要抽象、合并、复用的代码。下一步呢,就是运用“抽取父类(ExtractSuperclass)”的

系统 2019-08-29 21:59:08 2121

编程技术

将CLOB转换成String

/***//***将CLOB转成String,静态方法*@paramclob字段*@return内容字串,如果出现错误,返回*/publicfinalstaticStringclob2String(CLOBclob)...{if(clob==)...{return;}StringBuffersb=newStringBuffer(65535);//64KReaderclobStream=;try...{clobStream=clob.getCharacter

系统 2019-08-12 09:30:01 2121

编程技术

为什么要进行数据同步

转载:http://java.chinaitlab.com/line/779590.htmlJava中的变量分为两类:局部变量和类变量。局部变量是指在方法内定义的变量,如在run方法中定义的变量。对于这些变量来说,并不存在线程之间共享的问题。因此,它们不需要进行数据同步。类变量是在类中定义的变量,作用域是整个类。这类变量可以被多个线程共享。因此,我们需要对这类变量进行数据同步。数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访问完这些

系统 2019-08-12 09:29:27 2121

各行各业

HDOJ-1014 Uniform Generator

http://acm.hdu.edu.cn/showproblem.php?pid=1014给出式子seed(x+1)=[seed(x)+STEP]%MODseed初始为0,给出STEP和MOD的值问seed能否取到0~(MOD-1)之间的所有值简单模拟#includeintmain(){intStep,Mod,i,Seed,Flag[100005];while(scanf("%d%d",&Step,&Mod)!=EOF){for(i=0

系统 2019-08-12 09:26:57 2121