0
我的直接問題是,目前我有一個3層解決方案(Presentation.aspx.vb調用BusinessLayer.vb調用DataAccessLayer.vb)。但是,我想製作BusinessLayer和DataAccessLayer.vb抽象類,因爲幾個Webforms將使用相同的功能。如何在三層解決方案中使用抽象類?
所以我目前正在做這個(沒有抽象類):
'Presentation Layer (pseudocode)
public sub checkUser(byval userName as string, byval dept as string)
dim isGood as boolean = BL.checkUserAccess(userName, dept)
'some more code
'change properties of webcontrols, etc
end sub
'Business Layer (pseudocode)
public function checkUserAccess(byval name as string, byval group as string) as boolean
dim accessObject as dataObject = DAL.checkPermissions(name, group)
if accessObject.isHighAccess then
'some code
else
'some other code
end if
end function
'Data Access Layer (pseudocode)
public function checkPermissions(byval userid as string, byval section as string) as dataObject
'some code
end function
但是我仍然可以有這樣的結構,如果我添加抽象類?
例如:
'Presentation Layer (pseudocode)
public sub checkUser(byval userName as string, byval dept as string)
dim isGood as boolean = instOne_BL.checkUserAccess(userName, dept)
'some more code
'change properties of webcontrols, etc
end sub
'Business Layer (pseudocode)
public class instOne_BL inhertis BL
public function checkUserAccess(byval name as string, byval group as string) as boolean
base.checkUserAccess(name, group)
instOne_DAL.checkPermissions(name, group)
end function
end class
'Data Access Layer (pseudocode)
public class instOne_DAL inherits DAL
public function checkPermissions(byval userid as string, byval section as string) as dataObject
base.checkPermissions(userid, section)
end function
end class
你有興趣使用抽象類(意味着使用MustInherit)還是只繼承一個類?你的例子看起來像我的簡單繼承。 – 2012-02-01 16:55:54
那麼繼承抽象類並在我的3層設置中使用它就是我感興趣的內容。如果這是有道理的。 – dotnetN00b 2012-02-01 17:10:33
各層之間的通信機制是什麼?答案將取決於它是.Net遠程處理,WCF,Web服務還是其他。 – 2012-02-01 17:26:55