软件开发方法——实用为王

在博客软件工程首页上看到了邓永庆的一文,《Joel vs Bob, 敏捷其实很无聊》,读后正和我现在的理解相近,实用才是最重要的。

我最近也一直在学习敏捷开发,买了《敏捷软件开发 c#版》,才读了不到1/5。还在webcast上下载了关于开发模式的教程看,也只看到不到5章的课程。其中讲的东西第一遍看,基本是不知所云,第二遍看,若有所悟。第三遍看,还是若有所悟。所讲的东西看是看明白了,也基本理解了其中的原委,但是具体怎么用,一无所知。但我想这些方法必从软件开发中所经常遇到的问题中抽象出来的方法,理解了这些方法后,在实际编程中,也许会不知不觉的应用到其中,也许应用了以后,才会想到,咦,这不就是某某某模式吗?或者见到某个问题后,会想到,嗯,这个用那个什么模式来解决刚刚好!

因为我也是才刚刚开始学习C#,学习OO,所以举一个我实际工作中一个接口应用的例子,也许和敏捷开发关系不大,但我想理论就应该是这样与实际结合的。

前一段时间,我学习C#时,对接口的理解一直不深,书上讲的都基本看懂了,但总认为这个东西太抽象,工作中应该用不到,我还给我同事学,这个接口实际用处用大!结果没过多长时间,遇到了一个问题:我需要做一个多数据源之间的一个数据转换,比如说从DBF表中导入数据到SQL、从SQL中导出数据到DBF和EXCEL。

我在想了好几天,试了一两种方法后,突然就想到,这个不是刚好可以用接口来实现吗?定义一个数据转换的接口,然后在MSSQL、DBF、EXCEL对应的类中来实现它,不是刚好适用这种情况吗?于是就准备定义这个接口,结果写来写去却发现写不出一个准确的接口。

于是我先抛开接口不管,先写一个DBF的转换类出来。于是就写下了这样一个类,

软件开发方法——实用为王_第1张图片

有创建表的方法,获取数据表,获取表结构,保存表等方法,还有表名等属性,然后直接在代码中选择“提取接口”,OK,简单打几个勾就把我认为公用的部分提取成接口了。然后就是按这个接口逐个实现MSSQL、EXCEL类。一切都那么自然,水到渠成。接口为这个:

 

 软件开发方法——实用为王_第2张图片

所以我认为,学习很有必须,但千万不能生搬硬套,只有认为刚好需要这个东西时,才可以用它,否则,用不如不用!

你可能感兴趣的:(sql,工作,敏捷开发,Excel,敏捷,C#)