众所周知,在面向对象的眼中,事事皆对象。如果搜索到了面向对象的眼中,自然而然也就成了对象。但是,在实例化为一个对象之前,它首先是一种类。类都有属性和行为,那么搜索类的属性和行为是什么呢?
在剖析搜索类之前,我们必须给它一个范围,以便于我们讨论。我知道,每当程序猿看到搜索时,他总是很自然地联想到计算机的搜索:结构化查询语言,又称为SQL。今天我们就将搜索限制到SQL的范围内谈搜索类的属性和行为。我们不妨定义搜索类==SQL。
关于类的属性的定义是这样的。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。将SQL看成对象的话,那么它的属性就应是它的状态。
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAⅥNG search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
从上面这条标准的SQL语句中,我们知道除了SELECT和FROM之外,其它的值都可能发生变化,那么这些值就可以是SQL类的属性。所以SQL的属性有下面几个selectList、tableName、whereCondition、groupExpression、havingCondition和orderExpress。
搜索类的行为就是毫无疑问就是search方法。
可能很多读者是第一次看到这种SQL当做对象进行分拆属性,其实这种思想在很多年以前,就已经在一些产品中使用,比如FileNet。使用这种分拆属性的方法,可以很好提高代码的可扩展性。欲知此思想在实际中的运用,待咱们下回讲解。
- 1楼lfmilaoshi昨天 21:52
- 期待下文