日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你必须要知道的架构知识~第二章 代码是否面向对象,要看你的继承怎么用

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你必须要知道的架构知识~第二章 代码是否面向对象,要看你的继承怎么用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兒子今天玩的有點晚了,所以今天的文章寫的也有點晚了,呵呵!

從標題上可以知道,今天主要來講繼承,事實上是“繼承”在項目架構中有沒有用,如果有用,那應該如何去用的問題,一說到繼承就肯定會說兩個東西,基類(父類)和派生類(子類),在架構中,我們這樣定義一個基類:當很多類型有相同的屬性或相似的行為時,我們應該把它們的公共部分提取到一個新的類型中,這個類我們稱為它們的基類,基類在架構中多為抽象類,即本身只定義和簡單的實現,具體的調用和復雜邏輯由它的子類去實現和復寫。

在N層架構中,UI層,Service層及Data層都應該有自己的基類,而基類的主要作用就是將通用的部分進行抽象,這樣在功能擴展,代碼維護等方面都會變得方便,當然也更符合面向對象的原則。

UI層的基類:

/// <summary>/// Controller基ù類à/// </summary>public class BaseController : System.Web.Mvc.Controller{/// <summary>/// 數y據Y統3一?操ù作÷對?象ó/// </summary>protected IDataContext _db { get; set; }/// <summary>/// 用?戶§操ù作÷權¨限T/// </summary>protected int UserOperatorRole { get; set; }/// <summary>/// 當±前°登?陸?的?用?戶§ID/// </summary>protected long Current_UserID { get; set; }} /// <summary>/// 數y據Y庫a基ù類à/// </summary>public abstract class DataBase{/// <summary>/// 數y據Y庫a對?象ó/// </summary>protected DataContext _db = new DataContext();/// <summary>/// 統3一?提á交?動ˉ作÷/// </summary>protected virtual void SubmitChanges(){try{_db.SubmitChanges();}catch (System.Data.Linq.ChangeConflictException ex){throw;}}}

在使用它們時,通過是用一個具體功能類去繼承它們,以便來使用它們公開的屬性和方法,如下:

我們看到上面的HomeController類型繼承了BaseController類型,它的構造方法提供了帶參和空參的方法重載,這樣寫的好處是更好的實現代碼的松耦合,提供代碼的穩定性及可測試性,即,當我們使用空參構造類實例時,它會建立默認的數據訪問對象,而如果我們希望建立一個“測試”的內存數據對象時,可以使用第二個構造方式進行建立對象。

?

從本篇文章開始,將會出現大量的代碼,以便去說明問題,希望符合大家的胃口。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的你必须要知道的架构知识~第二章 代码是否面向对象,要看你的继承怎么用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。