热度: 做了事,然后碰到问题,改掉之前的——这很正常。但是如何能改的少,改的更巧,就成了技术领域一直在探究总结的。对于,程序的开发设计架构模式上,很多前人已经做过这方面的事情了,而这些事情现代人很是注重,并将之形成知识体系,这一体系慢慢构成了一个领域——设计模式(Design & Patterns)。 能够改的少,这就是低耦合的体现;能够改的巧,这则是封装的体现了。 我做Web开发,总要做个计数器吧,应该很Easy,这本身没啥好说的。可是想想数据放到那里呢?哪里都可以呀:文本文件、Xml、数据库文件(.mdb、.xls……)、数据库系统……,看着用呗!是啊,我就遇到过这样的问题,本来是放到Txt里的,后来领导说“要看到每天的分时统计”,需求的变化总是存在的,我是欢迎变化的——这样才证明我有可用的地方,不至于在经济危机时担心自己下岗吧;而且,更多的需求变化能够催使我完成更好更完善的系统。 恩,还放到Txt里也是没问题的,但是效率肯定没有数据文件好,不过先应付着吧,继续FSO编写代码来做每天的分时记录。但是,文本总是有文件大小的限制,所以采取保存2天的记录,然后删除之前的。呵呵,差点写死我,好后悔当初没用数据文件来做,相比之下用Xml也是很不错的选择!至少XPath能省我很大力气,比写正则式好多了,以后有机会再改吧! 凑合交上来任务!3天,没过3天,领导又来了“我看别人的网站能具体看到某天的历史记录,咱这个不行么?”我靠,你要当然行了——淡定!我是欢迎变化的需求的嘛………… 得,改吧,用Access吧!修改一番,总算消停2个月了!一件可怕的事情发生了,Web被挂马了,而当初*.mdb为了防止数据库被下载也改成了*.asp,完,也被挂上了!!!!再一杀毒,hoho~~~天知道,被杀后的Access文件头坏掉了!怎么发生挂马的先不提,立刻意识到:我咋当初就不用SqlServer呢!!!! 再改!!!好容易重写了一个Sql版的,这下可以放心了吧,单位以外通知“因数据库服务器资源紧张,以下部门不再提供数据库服务。”结果,我又是那个幸运的人!!!! ………… 上帝呀,虽然我不相信你的存在,但是我真想跟你要一个可以杀人的指标!我相信世界上不会有比我再衰的人了,但是这种反复无常的衰事人活着就总会碰到的。而这件给我的启发是:我能不能把之前所写过的那些不同数据源版本的东西都放到一起,然后客观环境变化时,你要啥我提供啥,但是只要做一点小的修改就好呢? 很快思路出来了: string DataProvide = "Sql"; switch (DataProvide.ToLower()) { case "sql": return Sql_DataProvide; case "txt": return Txt_DataProvide; case "mdb": return Mdb_DataProvide; } 但是,这么多类型怎么可以在一个函数里返回呢?呵呵,如果都是一家子就可以了对吧? 我们需要: public class DataProvide {}   public class Sql_DataProvide : DataProvide{} public class Txt_DataProvide : DataProvide {} public class Mdb_DataProvide : DataProvide{} 这样我们就可以,完善最一开始的代码了: public DataProvide SetConnection(string ProviderFlag) { switch (ProviderFlag.ToLower()) [...]
文章来源:http://www.e3card.cn/blog/?p=52
posted on 2009-02-26 22:56  雪美·考拉  阅读(242)  评论(0编辑  收藏  举报