这个重构方法其实就是说把类的接口抽取出来,参数传递的时候以接口而不是具体的类
个人理解这就是面向接口的编程思想吧,有哪位达人知道的请告知一下
例子很简单,旧代码:
Code 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; } }
重构后的代码:
Code 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; } }
我们将ClassRegistration 类的两个方法Create() ,Transfer() 抽取出来创建成IClassRegistration接口
在ProcessRegistration这个方法中就可以不依赖具体的ClassRegistration 类,而只需要传IClassRegistration 接口就可以了
这样就可以享受到松耦合带来的好处了