今天看到一篇應用接口的文章,主要是如何利用.net內置的功能,來重構代碼,覺得有點意思,摘錄其中的代碼下來,以備將來參考。但是我與這篇文章的作者有同樣的疑問,這樣重構代碼真的可以嗎?是如何實現松耦合的呢?不知道有沒有高手,可以指點一下?謝謝!
首先是舊代碼,如下:
public 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; } }
public 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; } }