petShop BLL分析--from web

BLLDAL之间传递的数据,可以是:

(1)        基本类型的数组(如int数组)

(2)        对象的集合。如Customers集合,里面使用一个ArrayList实现

(3)        原始的DataSet

(4)        强类型DataSet

**********************************************************************************

 Model :这个层就是数据结构层了,形象地说,这就是在 C# 里面的系统对应的数据库的结构了。(当然,并不完全相同,至少我们会考虑在这里添加很多的诸如 XXXCollection 的继承 System.Collections.CollectionBase 的结构集合类。这对于 BLL 调用起来,可会方便多了。 Model 层被 DAL 、 BLL 、 UI三层调用,成为他们三层之间传递数据参数的主要结构通道。举个例子,比如前台要显示一个产品信息,则在 BLL 里面会有一个方法叫做 :
Public ProductInfo GetProductInfo(int prodId) 。
在前台,则可以这样来调用:
ProductInfo info = product.GetProductInfo(prodId);
在 BLL 里,设计这个 GetProductInfo 时,可能会考虑很多因素,即步骤,然后最后调用 DAL 里面的一个方面 Init(int prodId,out ProductInfo info) 而得到这个 info, 并返回给上层。**********************************************************************************
• BLL : Business Logic Layer ,商业逻辑层。这是系统的核心位置,因为所有的主要逻辑都是在这里实现的,看 DAL ,那是一堆砖,到 BLL 这,就是清水房了。赫赫。再经过 Pres 表现层美化实现 UI, 则一个装修过的房子就搞定了哈。所以,在 BLL 里面,将按大对象进行方法设计,在每一个方法里,可能会调用到多个 DAL 里面的小方法。再举个例子,登录,很常见的了。给表现层, BLL 只应该提供一个叫
public bool SignIn(string username,string password) ;的方法。而这个方法里面,将包含: 1 、 CheckUserExist(string username),2 、 Init(string username,out UserInfo info) , 3 、加密 info 中的 password,4 、将这个 password 和传进来的 password 进行比较,如果相同,则返回 true, 否则 false. 而这 4 步中,有 3 步是 DAL 里面的方法。加密不是哈。



posted on 2007-11-06 10:18  simhare  阅读(297)  评论(0)    收藏  举报

导航