摘要: 因为在很多情况下,如果要转换的数据为null,调用者期望的是返回默认值. 系统自动提供的默认值不能满足我们的需求,例如int的默认值为0,但是在sql查询中,如果查询失败,我们期望的是小于0的值,例如Select Count(1) from table1这样的操作. 为此,我提供了取得数据类型默认值 阅读全文
posted @ 2016-05-23 12:13 荣-- 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 在打算了解Java的时候,根据C#的经验,了解一下Java中有哪一些值类型,如何判断某个类型为值类型还是引用类型是一件值得做的事情. 在C#中,值类型存放在栈中,不需要垃圾回收,引用类型存放在堆中,需要垃圾回收.将一个值类型转换为引用类型,会引起装箱(创建一个需要垃圾回收的引用类型),在真正使用时, 阅读全文
posted @ 2016-05-23 11:50 荣-- 阅读(4698) 评论(0) 推荐(0) 编辑
摘要: DataGridView是在winfrom开发中常用控件,对齐进行扩展很有意义.DGViewHelper就是一个对DataGridView的扩展,该扩展使用了组合而非集成的方式对其进行扩展,目标是简化使用者的编码,简单到一条语句即可添加行编号,多选框的功能,同时根据元编程的思维,将展示细节放置到配置信息中,而不是硬编码. 阅读全文
posted @ 2016-04-20 14:37 荣-- 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: 这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。 我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。 使用场景: 1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点 2: 用户输入“bd”,按下Enter键。 3: 浏览器打开百度站点。 现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。 我现在常用的是用它来打开iis,打开“服务”,打开“DEPENDS.EXE”,打开自己常用的文件夹,常用的sln,打开命令行,打开常用站点,常用文件夹。 阅读全文
posted @ 2014-08-22 16:51 荣-- 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代码罢了。 在Java中有JUnit,在C#中有NUnit,在C++中,笔者并不知道有哪些自动化测试工具(笔者的孤陋寡闻)。于是就产生了自己写一个自动化测试程序的想法。 阅读全文
posted @ 2014-08-22 09:32 荣-- 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦,要应对很多的细节,很容易出错。 我要写一个动态链接库,将对libMySQL的操作封装起来,以二进制复用代替源码级复用;要提供线程安全的接口,用户无需关系是否加锁这样细节性的问题,减少出错及死锁的机会,当然也要允许用户自己选择是否线程安全的访问数据库;要简化访问数据库的流程,接口越简单越好。 阅读全文
posted @ 2014-08-22 09:30 荣-- 阅读(1666) 评论(5) 推荐(1) 编辑
摘要: 我心目中的Java Web结构式这样的: 1)程序分为通用层(异常,业务对象,数据合法性验证)、数据访问层(数据库访问、WebService),逻辑层,控制层和页面层。 2)所有错误信息由异常统一爆出,异常分为逻辑异常,数据库异常,数据验证异常和其他异常(根据实际需要增减),由控制层统一捕捉,并输出到展示层(页面层)。 3)数据访问层包括访问数据库、访问第三方WebService,访问消息中间件以及其他。 4)逻辑层处理业务逻辑及数据库事务,并对输入数据的合法性进行验证(此处验证最好和页面的js验证一致---此处和前台页面最好都使用通用层的数据合法性验证部分进行验证)。 5)控制层由页面的action和WebService组成,控制层负责在展示层和逻辑层之间进行数据转换,异常捕捉,页面跳转。 6)有一类特殊的WebService,直接访问数据库,这些WebService的目的是代理数据库的访问,使调用客户端不直接访问数据库,屏蔽数据库差异。 7)展示层暂时主要考虑了Web 页面,使用taglib和easy ui显示信息,使用FreeMark进行模板生成, 使用FreeM 阅读全文
posted @ 2013-03-09 23:23 荣-- 阅读(893) 评论(3) 推荐(1) 编辑
点击右上角即可分享
微信分享提示