基础框架的基础组件
做了一个星期的基础框架了,结果发现这一个星期数据库访问层基本没怎么动静,基本都在忙活所谓基础框架的基础组件的东东上面了。姑且总结一下,再做基础组件,就该知道先要有些什么了。
因为在单元测试的时候发现不论MSTest还是XUnit,都只是基础测试框架,要高效的写单元测试的代码,还是需要引入很多自己的扩展以及第三方的扩展,因此首先搞了个单元测试的扩展包CommonsTesting,包括神马自动装配、高级断言、复杂对象的比较、DBUnit等等。
然后发现做基础组件不像做项目,一旦发布,就一定要有一个有效的版本管理策略,例如CommonsTesing发布1.0.0后,我这里还在继续改,改着改着人家反馈BUG了,但这时候甚至都找不到发布时对应的源代码版本了,因此又搞了个AutoVersion,每次编译时自动将SVN的版本号编译到DLL里面,这样一看文件就知道它对应的SVN版本号了。
涉及到版本号了,又发现版本号的变更其实不是随意的,啥时候心血来潮了就升级某个版本号,这玩意原来也是有标准的,于是再定一个语义版本规范。
总算该准备的准备得差不多了吧,回过头来继续,结果发现测试时日志的输出看不到,当然简单的配置一下Log4Net也可以,不过总还是不希望每个每个工程都要去关注这些细节问题,于是新起一个工程CommonsLogging,根据约定自动进行日志的配置。
总算是可以再继续了,是不是还会遇到什么,姑且拭目以待 ……