代码改变世界

随笔分类 - All About Soft

关于数据访问模式(三)—— Data Accessor模式

2005-07-25 18:34 by FantasySoft, 3654 阅读, 收藏, 编辑
摘要:拐弯抹角了两篇Post,说了一下重要性和很常见的一个词汇:Metadata,终于都到言归正传的时候了。今天我们先来看看数据访问模式当中使用得很频繁的一种模式——Data Accessor(也称为DAO,数据访问器)。 不管你是用着ADO.NET还是JDBC,你都可以直接使用SQL(在ADO.NET中使用SqlCommand,JDBC则是使用Statement)去访问数... 阅读全文

关于数据访问模式(二)—— 说说元数据

2005-07-22 15:59 by FantasySoft, 2568 阅读, 收藏, 编辑
摘要:[前言] 在这个系列的第二篇,我依旧不务正业,只字不提具体模式。元数据是一个很基本的概念,如果大家看到有关O/R Mapping的文章,都可能会看到元数据这个的名词。因此,在这篇中,还是先说说元数据吧。 提到元数据(Metadata),在IT行业中,应该是无人不知无人不晓了。即使你不是在IT行业里面耕耘,也会或多或少的元数据打过交道,因为在Web的世界中,元数据几乎是... 阅读全文

关于数据访问模式(一)—— 数据访问模式的重要性

2005-07-21 18:23 by FantasySoft, 4241 阅读, 收藏, 编辑
摘要:在企业级应用当中,数据是企业资源的重要组成部分。应用程序的开发也是围绕数据的组织和存储、数据的访问、数据的处理、数据的表示进行的。由于这几个方面为整个应用程序系统提供了服务(Service),因此我们可以把这几个方面统称为数据服务(不知道用这样的名词去概括是否恰当)。 我们从企业应用程序常用的三层或者多层结构可以看出,每一层都无法离开数据,每一层都拥有一个独有的关注点。正是由于数据... 阅读全文

也说Functional Programming

2005-07-20 12:33 by FantasySoft, 3110 阅读, 收藏, 编辑
摘要:看了Lu Feng兄写的4个程序员的一天以及很多朋友对此post的回复,不禁让我兴奋不已。因为我想起了Python,毕竟在Functional Programming方面又怎么能少了Python这条可爱的小蟒蛇呢? 偶没有Lu Feng兄那么强的表达能力,能够将语言的特性如讲故事一般娓娓道来,只能随手写两行代码来展示一下Python在Functional Progra... 阅读全文

Cached JSP引发的问题与思考

2005-07-15 18:59 by FantasySoft, 1073 阅读, 收藏, 编辑
摘要:在最近的Project中遇到了一个表面上看起来蛮奇怪的问题。具体问题是这样的,在Project中,所有跨模块的constant都会定义在一个名字叫Constants的interface中,然后在JSP里面,我们也会相应地使用到这些constant。 每当更改了Interface里面某一个constant的值的时候,在JSP中并不会反应出来,从而引起了很多混淆。由于Constants是... 阅读全文

可爱的Ant——利用Ant获取文件列表

2005-07-15 14:47 by FantasySoft, 4519 阅读, 收藏, 编辑
摘要:提到Ant,你一定会想到它在自动构建方面有着举足轻重的地位,于我而言,也仅仅是将其作为一个自动构建的工具来使用。由于各个流行的IDE都内部集成了对Ant的强大支持,因此,我使用Ant的方式就真的简单得不能再简单了:在网上找一个build file,然后针对自己的project稍作修改。这样,我就可以在IDE窗口中拖动鼠标点两下,就可以很方便地完成 project的构建了。真的太简便... 阅读全文

从onfocus方法看浏览器的兼容性

2005-07-12 22:01 by FantasySoft, 5226 阅读, 收藏, 编辑
摘要:在Web Application的开发测试当中,由于存在不同的访问终端——浏览器,因此需要在不同浏览器下运行应用程序,以检验应用程序在不同的浏览器下的外观及功能上是否保持一致。尽管现在的浏览器之间的兼容性已经是相当不错,但是在对Javascript的支持上就有相当大的区别。今天就在onfocus方法上碰到了钉子。具体的代码是类似这样的: ... 阅读全文

也谈代码规范

2005-07-07 21:35 by FantasySoft, 5706 阅读, 收藏, 编辑
摘要:看了湘南和也写的程序编码应保持良好的规范(C#) ,我也忍不住要说上两句。这两年来,做了几个项目,技术没有长进多少,对于规范倒是有了不少的体会。 湘南和也提到的四点规范是比较重要的,我再补充几点。 1、常量的命名:常量使用大写字母,各个单词之间通过下划线的划分。譬如BASE_SALARY; 2、变量的命名:变量的首字母小写,之后的单词的首字... 阅读全文

也说魔数与魔字符串

2005-07-06 23:22 by FantasySoft, 2357 阅读, 收藏, 编辑
摘要:看了叙远兄写的.net中的魔字符串,还有birdsome的评论,颇有启发。 所谓魔数和魔字符串就是在代码中直接使用某一个数字或者字符串,而不是常量。譬如一个很简单的根据职位计算薪水的方法: public int getSalary(String title, int grade) { if ("Programmer".equals(title)) ... 阅读全文

体验模式的乐趣(二)—— 连接池与Decorator模式

2005-06-30 22:26 by FantasySoft, 1813 阅读, 收藏, 编辑
摘要:在《深入浅出Hibernate》的第一章中,作者讨论了设计一个面向应用的持久层所涉及到的方方面面,其中一个重要的方面就是Connection Pool(连接池)的使用。以JDBC为例,当你需要对数据表中的数据进行操作的时候,你必须通过Driver去建立与Database的 Connection。由于建立Connection的过程的开销是相当可观的,如果仅仅是在执行了几个简单的SQL... 阅读全文

美妙的Python又来了

2005-06-22 02:08 by FantasySoft, 2763 阅读, 收藏, 编辑
摘要:今天继续去了解小蟒蛇的可爱特性,在函数定义和调用方面,有三个地方让我觉得蛮有意思的。 第一个有意思的地方是缺省实参, 也就是在Python中定义函数,你可以为参数设定缺省值(默认值),这个特性在C和C++中也是有的,但是在Java中却没有,至于C#中有没有,就不清楚了。如下所示: def test(a, b, c=3): print a, b,... 阅读全文

IronPython的第十块鳞片

2005-06-19 00:53 by FantasySoft, 1620 阅读, 收藏, 编辑
摘要:IronPython0.7.6于6月14日发布了, 版本升级的速度确实让人满意啊! 然后再看看自己的鳞片系列的速度,真的好惭愧,看来得好好加把劲了。 这一次的升级动作可谓之巨大,至少我得把原来.NET Framework 2.0.40607.42卸载掉,装上最新的.NET Framework 2.0.50215.44,IronPythonConsole才能运行起来,... 阅读全文

Openning Day

2005-06-17 01:28 by FantasySoft, 739 阅读, 收藏, 编辑
摘要:在Java的世界里,Open并不是一个新鲜或者是很Hot的词语了,那么在操作系统方面呢?6月14日这一天,OpenSolaris的横空出世,无疑在操作系统领域中投下了一枚重磅的炮弹。让我们来看看引自TechNewsWorld网站的一段话吧: Sun Microsystems has officially released the source code of its Solari... 阅读全文

MySql与Tomcat的两个小Tips

2005-06-04 00:38 by FantasySoft, 1456 阅读, 收藏, 编辑
摘要:第一个Tip是与数据库有关。通常,数据表在创建了之后都不可避免的需要增加或者删除表中的列(Column),那么我们通过什么方式去做呢?重新创建一张表再将数据导入恐怕是一个很笨的办法了,费时又费力。事实上,只要使用一句简单的SQL就能实现我们所想要的了,这个就是ALTER TABLE。ALTER TABLE的功能很强大,它几乎可以改变与表结构相关的一切信息,譬如增加删除列,修改列名,... 阅读全文

IronPython的第九块鳞片

2005-04-15 00:29 by FantasySoft, 1914 阅读, 收藏, 编辑
摘要:IronPython这次又给我们带来了惊喜,IronPython0.7.2发布了!这距上一个版本的发布只有十天时间,速度真的让人吃惊!这主要得益于广大程序员对IronPython的关注,从workspace上的active bugs在不断的增多就可见一斑了。我相信问题发现得越多,则完善得越快,1.0版本也就越完美,越值得期待。 这一次新版本的发布主要还是修改了一些bu... 阅读全文

IronPython的第八块鳞片

2005-04-09 17:16 by FantasySoft, 2522 阅读, 收藏, 编辑
摘要:当我在IronPython的Message Borad中提出了关于Dictionary的问题之后,Jim对这个问题作了回复,并且指出,将属于.NET的类型引入到IronPython,会带来不少的问题。随后,有另外一个朋友对是否应该引入.NET中的类型,提出了他自己的疑问:Why does IronPython need the types in System.Collections... 阅读全文

IronPython的第七块鳞片

2005-04-03 01:29 by FantasySoft, 1471 阅读, 收藏, 编辑
摘要:时间跨入了2005年四月,而昨天我度过了迄今为止最伤感的愚人节,恼人的细雨与压抑的情绪充斥着昨天的每一分每一秒。还以为这样的天气会延续很久,但是早上起来却发现外面阳光灿烂,而我的心情也随之好了起来。于是,我穿着短袖到外面闲逛,感受春天的气息。来到珠江边,想起昨日的阴霾,再望望今日满眼的翠绿,我发现,阳光总在风雨后,而希望总是会在绝望中萌生。带着好心情回到家中,上网的时候竟然发现Ir... 阅读全文

感受Python的美妙

2005-04-02 01:47 by FantasySoft, 3422 阅读, 收藏, 编辑
摘要:最近上班的时候忙里偷闲,仔细研读了DiveIntoPython中关于Python特殊数据类型的章节。而我再一次被Python的简约之美深深打动了。 List是Python的三种特有数据类型中的一种,跟数组很像,支持直接利用下标的访问方式;同时List的size是可变,这一点又跟ArrayList是十分类似的。但是List就像是包罗万象的万花筒,不仅能够容下对象,同时... 阅读全文

IronPython的第六块鳞片(续)

2005-03-31 00:44 by FantasySoft, 1367 阅读, 收藏, 编辑
摘要:在上篇Post中,我提到了IronPython0.7的一个问题:通过key来获取Dictionary类型变量的value,如果key不存在,Console将不会有任何的提示,而CPython则会有相应的KeyError的提示信息。后来,我在IronPython的MessageBoard上发了一个帖子来说明这个问题。结果第二天,IronPython的老爸——Jim Hugunin给予了... 阅读全文

IronPython的第六块鳞片

2005-03-28 01:04 by FantasySoft, 1566 阅读, 收藏, 编辑
摘要:或许是对IronPython这条小蟒蛇的想念,或许是对自己的懒惰开始变得无法容忍,今天不知怎的就到那极其冷清的IronPython的Mail List去瞧了瞧。哈哈,还真的让我看到了一条让我兴奋不已的消息——IronPython0.7于3月23日发布了!但是有意思的是,在Mail List中第一个公布这条消息的人竟然不是IronPython的老爸Jim Hugunin。当然紧跟其后... 阅读全文