|
在上一篇講到,如果將BLL層的每一個(gè)類都轉(zhuǎn)化為*.svc,這是一個(gè)不實(shí)在的想法。它會(huì)使服務(wù)變化復(fù)雜,難于管理。
這時(shí)候,我們第一時(shí)間想到的是23個(gè)簡單開發(fā)模式中的Factory,在這里,F(xiàn)actory正好派上用場。我們把這個(gè)Factory稱之為管道(pipeline) ,通過這個(gè)管道客戶端可以隨意調(diào)用服務(wù)器BLL層里面的類。
(關(guān)于管道的概念,建議參考Cory Isaacson的杰作《多核應(yīng)用架構(gòu)關(guān)鍵技術(shù)—軟件管道與soa》)
當(dāng)你使用B/S方式開發(fā)UI層時(shí),只要了解此開發(fā)模式,使用Ajax加上WCF里面的WebHttpBinding綁定和WebHttpBehavior行為,可以說是天衣無縫的組合。
首先,開發(fā)一個(gè)數(shù)據(jù)契約,其中包括程序集名稱,類名,構(gòu)造函數(shù)的參數(shù),方法名,方法中的參數(shù):
[DataContract]
public class Communication
{
[DataMember]
public string Assembly
{
get;
set;
}
[DataMember]
public string Class
{
get;
set;
}
[DataMember]
public object[] ConstructedParameters
{
get;
set;
}
[DataMember]
public string Method
{
get;
set;
}
[DataMember]
public object[] Parameters
{
get;
set;
}
}
NET技術(shù):使用WCF實(shí)現(xiàn)SOA面向服務(wù)編程——使用AJAX+WCF服務(wù)頁面開發(fā),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。