petshop的OO观念,OO顾名思义就是面向对象的缩写了,在BS设计中,无论是老师还是网络的文章一致说要使用3层结构,一开始,其实不仅仅是一开始,直到我看PetShop之前,我一直认为,web brouser+webserver + database 就是所谓的3层结构了.现在终于明白,3层指的是,表现层,业务处和数据层,虽然看起来和web brouser+web server + database很能对应,但是却有天壤之别啊!所谓的表现层,就是如何将要处理的数据和逻辑友好的表现给用户,让用户明明白白,舒舒服服并且,做的只是引导用户,不做其他的事情;到了业务逻辑层的话,就是具体到了某一个与实际工作向匹配的工作了,可能会比较复杂和繁冗,然而还是进行对象和过程的操作,不涉及数据的持久性,根本不与数据库打交道;到了与数据库或是持久数据,专门的类用来跟数据库交互.但是这三层是靠什么东西来传递消息呢?如果用字符串的话,不紧效率不高,而且还很不可靠,类和面向对象的思想是完全没有体现,那靠的是什么呢?就是很关键的实体类,就是把数据库表的每一个实体表项对应一个类,三层是通过这个类来传递数据,通过一个接口来操作底层的封装好数据源.于是整个PetShop的架构就很清晰了,BLL(业务逻辑层)完成所有的功能点,调用接口操纵数据源,因为涉及到不同数据库的不同的操作,所以用接口来对操作和数据源联系就可以最大限度的降低耦合性,使得程序层次更加的分明;有一个Model的工程就是全部的实体,就是中间传输对话的对象;面对数据源通过DALFactory来制造根据环境如果是Oracle就用OracalDAL,如果是SQLServer就用SQLServerDAL,来实现与数据库的操作,其关键是实现IDAL的接口,这样的话,BLL就可以同过对接口IDAL的操作动态的操作底层的数据.打开眼界啊!