面對物件之差異化的網路資料互動方式

2021-06-27 00:45:09 字數 2568 閱讀 5614

面對物件之差異化的網路資料互動方式

傳統開發c/s還是b/s應用都會經過這幾個步驟

1.編寫定義服務端實體類,一般還需要對映到資料庫

2.編寫定義訊息類

3.編寫定義客戶端實體類,一般服務端實體類會比客戶端多一點,當然也可以和服務端公用.

4.編寫應用邏輯

5.賦值返回資料到訊息類,然後進行返回

這裡來講解一種簡單的模式進行優化和解放這些繁瑣的體力活.

如果共用實體類,那麼依然要4個步驟.

基於訊息類和邏輯的對應方法,一般有多少個請求定義,就有多少個訊息類.

一般開發人員會對一些訊息進行精簡和合併,類似的結果共用,這樣能減少一些定義過程.

面對訊息定義,我們巴不得能把這個物件丟過去,這樣後期修改就無所謂增加乙個字段,或者減少乙個欄位.

可能會影響數個介面進行修改.

欄位多,會增加流量,以及冗餘資料.

欄位少,基本上乙個介面對應乙個訊息.

用乙個簡單的示例程式來進行講解:

定義乙個實體類

/// /// 實現屬性通知介面

///

public class gameinfo : inotifypropertychanged

set

}private int _count;

public int count

set

}private bool _isopen;

public bool isopen

set

}public event propertychangedeventhandler propertychanged;

protected void onpropertychanged(string propertyname, object value)

}}

傳統模式修改分別對應修改1個屬性,2個屬性和3和屬性

//傳統模式

[webmethod]

public changenameresult changenameai(string name);}

[webmethod]

public changenameandcountresult changenameandcounti(string name);}

[webmethod]

public changeallresult changeall(string name)

;}

對應的返回資料型別:

/// /// 返回物件

///

[serializable]

public class resultobject

}/// /// changename 返回值

///

[serializable]

public class changenameresult : resultobject

}[serializable]

public class changenameandcountresult : changenameresult

}[serializable]

public class changeallresult : changenameresult

}

如果偷懶,可以直接用最多的這個,但是看著會很不舒服,也不太好.

下面是差異修改模式示例:

/// /// 通用返回

///

[serializable]

public class valuechangeresultobject : resultobject

}/// /// 返回物件

///

[serializable]

public class resultobject

}

示例邏輯方法:

//差異資料返回模式

private string changevalues = "";

[webmethod]

public string changenameandcounti(string name)

[webmethod]

public valuechangeresultobject changenameaii(string name)

[webmethod]

public changeallresult changeall(string name)

/// /// 獲取通用返回方法

///

///

public valuechangeresultobject getresult();}

[webmethod]

public string initchangeobject()

private void gameinfo_propertychanged(object sender, system.componentmodel.propertychangedeventargs e)

差異化競爭 提公升ITO服務的價值

ito information technology outsourcing 即資訊科技外包。包括產品支援與專業服務的組合,用於向客戶提供it基礎設施 或企業應用服務 或同時提供這兩方面的服務,從而確保客戶在業務方面取得成功。ito需要更創新的服務更差異化的競爭 ito服務在中國已經發展了多年。早年...

面對物件的理解

面向過程思想 第一步做什麼,第二步做什麼 它適合處理一些較簡單的問題 物件導向思想 1 物以類聚,分類的思維模式,思考問題首先會解決問題需要哪些分類,然後對這些分類進行單獨思考。最後,才對某個分類下的細節進行面向過程的思索。2 物件導向適合處理複雜的問題,適合處理需要多人協作的問題。對於描述複雜的事...

軟體是高階儲存實現差異化的關鍵

emc認為,未來的資料中心基礎架構將朝著標準化 虛擬化 自動化發展。在這一背景下,x86架構以及多核cpu 快閃儲存器和虛擬化技術將成為雲資料中心基礎架構的核心技術三要素。emc針對雲資料中心提供的整體參考架構平台vce在過去三年中銷售額超過10億美元。分層儲存成主流 經過幾次更新換代,如今emc ...