-
用 GTest 来测试MFC 程序 TDD开发
所属栏目:[程序设计] 日期:2020-05-23 热度:59
无意间发现GOOGLE发布了一个开源的C++单元测试框架 Google Test,称GTest。很多兄弟夸奖,对GOOGLE的东东还是很有兴趣。一时试了一下。 发现测试MFC没有那样方便,不过总是能用。 下载 http://code.google.com/p/googletest/ 我下载的时候,版本为1.4 编译gte[详细]
-
不依赖增长的治理:探寻发展的另外一种可能
所属栏目:[程序设计] 日期:2020-05-23 热度:72
《不依赖增长的治理:探寻发展的另外一种可能》 基本信息 作者:彼得.A.维克托 出版社:中信出版社 ISBN:9787508635972 上架时间:2012-10-23 出版日期:2012 年10月 开本:16开 页码:1 版次:1-1 所属分类: 经济管理 更多关于 》》》《不依赖增长的治理:探[详细]
-
OpenLayers系列(3)——使用第三方地图API(GoogleMap),聚合多个地图数据
所属栏目:[程序设计] 日期:2020-05-23 热度:172
使用第三方API及地图数据 首先是一个调用GoogleMap的例子 !DOCTYPE htmlhtml lang=enhead meta charset=utf-8 / titleMy OpenLayers Map/title script type=text/javascript src=OpenLayers.js/s[详细]
-
单链表倒置思想
所属栏目:[程序设计] 日期:2020-05-23 热度:50
对于单链表的逆置有两种方法可以实现: (1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码: [cpp] view plain copy print ? typedefintDataType;//类型[详细]
-
优化包含聚合运算的关联update
所属栏目:[程序设计] 日期:2020-05-23 热度:116
很多人开发人员不清楚update的原则,按照写代码的习惯写update: update a set a.value=(select count(1) from b where a.col=b.col); 实际上,这个update语句大概运行逻辑是这样的: for c in (select * from a) loop select count[详细]
-
第三章 单一职责原则
所属栏目:[程序设计] 日期:2020-05-23 热度:125
单一职责原则SRP 就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏[详细]
-
不依赖字库的生成中文验证码的方法
所属栏目:[程序设计] 日期:2020-05-23 热度:186
jsp生成验证码的方法网上很多,但是很多都是依赖中英文字库,若是没有字库的话,生成出来的字会变为方块。 我写了一个显示中文验证码的程序,不依赖依赖字库,并且可以自己选择特有的图片作为验证码的文字。 我采取了把1600个字做成一个个的图片(可以显示250[详细]
-
控制反转(依赖注入)IoC
所属栏目:[程序设计] 日期:2020-05-23 热度:198
参考:http://baike.baidu.com/view/146665.htm#5 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。 IoC 的类型 现有的 框[详细]
-
Caliburn第4部分 事件聚合器
所属栏目:[程序设计] 日期:2020-05-23 热度:140
The event aggregator is a service that makes it easy for multiple parts of your application to send messages to each other. 要做到这一点,你订阅的事件聚合的对象(如视图模型),并指定他们应该听什么类型的消息。 现在做一个ColorViewModel,在App[详细]
-
设计模式:反向控制和依赖注入(Inversion of control and Dependency injection
所属栏目:[程序设计] 日期:2020-05-23 热度:187
When we see around, architectures mainly discuss about loose coupling , scalability , performance etc etc. Many architecture forget one of the important aspects in software is making application globa[详细]
-
CXF依赖jar包列表
所属栏目:[程序设计] 日期:2020-05-23 热度:92
使用cxf处理soap时经常会碰到ClassNotFound的异常,cxf依赖的包比较多,请见如下列表: cxf-2.3.3.jar geronimo-annotation_1.0_spec-1.1.1.jar geronimo-jaxws_2.2_spec-1.0.jar geronimo-stax-api_1.0_spec-1.0.1.jar geronimo-ws-metadata_2.[详细]
-
在不能确定某一数据结构的结点是单一变量的情况下,结构的结点类型尽可能使用struct
所属栏目:[程序设计] 日期:2020-05-23 热度:61
在不能确定某一数据结构的每个结点是单一变量(包括基本类型或者自定义类型)的时候,也就是该结构结点内容可能会扩展的情况,不妨将结点内容定义为struct,即便现在struct内只有单一变量。方便后续的扩展,而不用修改每一处结点相关的操作,当然如果最终只有[详细]
-
Objdump查看依赖so动态库文件
所属栏目:[程序设计] 日期:2020-05-23 热度:117
在做系统跨平台移植的时候,需要知道生成的o文件需要的so动态库文件,就可以使用下命令了。 zchx@ubuntu:~/workspace/mips_UDP/g++build$ ls a.out UDP_Multicast.cpp zchx@ubuntu:~/workspace/mips_UDP/g++build$ objdump -x a.out |grep NEEDED NEEDED[详细]
-
测试代码 与 设计文档
所属栏目:[程序设计] 日期:2020-05-23 热度:141
测试代码不可以完全取代自然语言形式的设计文档呢,原因有三: 其一,测试代码虽然比源代码容易理解,但它仍然是代码,不是所有人都能理解的; 其二,测试代码的宏观表达能力还是不如自然语言或图表; 其三,很多人习惯看文字而不是看代码,彻底改变人的习惯[详细]
-
聚合链路PAGP
所属栏目:[程序设计] 日期:2020-05-23 热度:189
聚合链路: 聚合链路协议: PAGP(端口聚合和协议) cisco专有 LACP(链路聚合协议) 公共标准 PAGP协商规律: desirable表示主动协商 ,Auto表示被动协商,on表示强制端口不使用PAGP或LACP进行协商来形成 EtherChannel。(是表示可以建立隧道,否则反之) 模式 o[详细]
-
(转) 控制反转(IOC)/依赖注入(DI)
所属栏目:[程序设计] 日期:2020-05-23 热度:77
IOC、DI模式 1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例: [java] view plain[详细]
-
Robtotlegs中的依赖注入
所属栏目:[程序设计] 日期:2020-05-23 热度:177
依赖注入是Robotlegs中的重要部分。那么依赖注入是怎么工作的呢?依赖注入有两个部分组成,注入点和注入规则。注入点简单的说就是什么地方需要注入,注入规则说明怎么注入。 设置注入点 Robotlegs可以针对属性、参数和构造函数进行注入,对应的注入方法就是在[详细]
-
有依赖的01背包问题( 金明的预算方案)
所属栏目:[程序设计] 日期:2020-05-23 热度:199
考虑到每个主件最多只有两个附件,因此我们可以通过转化,把原问题转化为01背包问题来解决,在用01背包之前我们需要对输入数据进行处理,把每一种物品归类,即:把每一个主件和它的附件看作一类物品。处理好之后,我们就可以使用01背包算法了。在取某件物品时[详细]
-
一个依赖项属性的应用
所属栏目:[程序设计] 日期:2020-05-23 热度:100
一种应用方法是使用依赖项属性代替INotifyPropertyChanged接口,将界面绑定的数据源属性声明为依赖项属性,就可以自动更新到界面了,使用了wpf的内置机制,之前有一篇文章写了一个例子。 今天写的应用是重写一个控件,新空间使用依赖项属性来扩展wpf内置控件[详细]
-
wpf 依赖项属性
所属栏目:[程序设计] 日期:2020-05-23 热度:114
UI软件中经常会用到大量的控件,而每一个控件都是一个对象,每一个类都会有大量的属性,如果没创建一个对象就将所有的属性都创建出来,无非会占用大量的内存,wpf使用依赖项属性来提升了性能。 查看任何一个控件的定义,以button为例,都会发现类内包含大量的[详细]
-
文件读写线程-写线程依赖读线程(减少文件读写时间),多线程
所属栏目:[程序设计] 日期:2020-05-23 热度:97
文件读写线程: 使用synchronized 配合wait/notify,稳定性好,线程数越多越快 package cn.thread.fen.open; import java.io.FileInputStream; import java.io.IOException; import java.util.Date; public class FileReadThread extends T[详细]
-
创建package和查看package的依赖关系
所属栏目:[程序设计] 日期:2020-05-23 热度:195
Creating a ROS Package 目录 Using roscreate Creating a New ROS Package First-order package dependencies Indirect package dependencies ROS Client Libraries Review Using roscreate Before we create a packa[详细]
-
ATDD与TDD的哲学内涵
所属栏目:[程序设计] 日期:2020-05-23 热度:73
ATDD (Acceptance Test-Driven Development)验收测试驱动开发是基于“用户需求实现”层面的测试驱动,TDD (Test-Driven Development)测试驱动开发是基于“模块代码实现”层面的测试驱动,在软件开发中运用两者就像人走路,先迈ATDD左脚,再迈TDD右脚,二者相[详细]
-
测试驱动开发三部曲——走出TDD丛林
所属栏目:[程序设计] 日期:2020-05-23 热度:140
软件工程问题及解决 1. 总结归纳需求时,因为用户对需求理解不清,需求的变化,可通过需求管理解决,在沟通中应先澄清概念,定义,范围,背景及沟通的形式(原型和图片比较合适) 2. 重用,更重要的平台级的重用。 3. 有用工具:需求规格(功能和性能指标)记[详细]
-
测试驱动开发笔记(四)——TDD
所属栏目:[程序设计] 日期:2020-05-23 热度:183
1)什么样的步伐合适:测试(对应一行代码清单和少数重构);刚开始重构要严格遵循步骤,当然也不放过自动化重构工具 2)什么可以不必测试:如果不含业务逻辑,如jsp页面只是显示,业务重点测试(条件部分,循环部分,操作部分,多态性) 3)怎样知道代码有[详细]

浙公网安备 33038102330553号