第9天:抽取介面

來源:互聯網
上載者:User

這個重構方法其實就是說把類的介面抽取出來,參數傳遞的時候以介面而不是具體的類

個人理解這就是面向介面的編程思想吧,有哪位達人知道的請告知一下

 

例子很簡單,舊代碼:

Codepublic class ClassRegistration{public void Create(){// create registration code}public void Transfer(){// class transfer code}public decimal Total { get; private set; }}public class RegistrationProcessor{public decimal ProcessRegistration(ClassRegistration registration){registration.Create();return registration.Total;}}

 

重構後的代碼:

Codepublic interface IClassRegistration{void Create();decimal Total { get; }}public class ClassRegistration : IClassRegistration{public void Create(){// create registration code}public void Transfer(){// class transfer code}public decimal Total { get; private set; }}public class RegistrationProcessor{public decimal ProcessRegistration(IClassRegistration registration){registration.Create();return registration.Total;}}

 

我們將ClassRegistration 類的兩個方法Create() ,Transfer() 抽取出來建立成IClassRegistration介面

在ProcessRegistration這個方法中就可以不依賴具體的ClassRegistration 類,而只需要傳IClassRegistration 介面就可以了

這樣就可以享受到松耦合帶來的好處了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.