三层之代码说话!

      昨天和今天一直在看大家发的有关于架构的问题,看多了最后反而到把自己给弄迷糊了。复杂的架构我也不会,评论任何,或许等到哪一天我由一个菜鸟变成一个高手以后,嘿嘿,偶也会去弄一些高深的文章。

      关于3层,如果你和我一样是一个刚起步不久的,而且对开发架构有一定兴趣的人,那么以下我写的内容或许对大家认识三层有个形象的了解。

      使用n层架构,需要把应用程序的逻辑封装到独立的层中去。大多数情况下,一个Application被推荐分为3层,即:用户界面层、业务逻辑层、数据访问层。

      下面,我用一个从书上学来的经典3层例子给大家详细分析一下3层,同时自己也巩固一下。

     
         (该图是数据库中的表和字段,以下操作均围绕该表进行)  

        首先,我们从数据访问层开始说起,数据访问层封装包含操作数据库的所有代码。以下代码均封装在SamlpeDAL类库下。

Product实体类

(如果你对抽象工厂开发模式也有研究的话,其实实体类应该放在Model层下的)

SqlDataAccess文件,用于和数据库打交道

 

      接下来再给大家介绍一下业务逻辑层。业务逻辑层包含所有的商务规则和验证代码,并管理所有界面的数据访问。以下的代码封装在SampleBLL类库中。

BusinessLogic业务逻辑代码

 

      最后,我们来介绍用户界面层。用户界面层除了界面元素外,不应该包含任何其他内容。用户界面层也不应该包含任何业务逻辑和数据访问。这个例子的用户界面层封装在名为SampleUI的Web Application库中。其效果如图:

                     

Product.aspx页面显示文件

 

      从以上所有代码中我们不难看出3层是怎样分开封装,以及3个层之间的是怎样关联工作的。这里值得注意的是,如果你用的是VS,那么这三个层被放在同一个解决方案中是毫无疑问的,只是在一个层中使用另一个层的文件时,记得在引用中添加另一个层即可。

 

posted on 2008-08-15 16:04  单简  阅读(390)  评论(0编辑  收藏  举报

导航