zoukankan      html  css  js  c++  java
  • 重构9-Extract Interface(提取接口)

    我们来介绍一个常常被忽视的重构:提取接口。如果你发现多于一个类使用另外一个类的某些方法,引入接口解除这种依赖往往十分有用。该重构实现起来非常简单,并且能够享受到松耦合带来的好处。

    public class ClassRegistration{
    public Double Total;//getter setter
    public void Create() {
    // create registration code
    }
    public void Transfer () {
    // class transfer code
    }
    }
    public class RegistrationProcessor {
    public Double ProcessRegistration(ClassRegistration registration) {
    registration.Create();
    return registration.Total;
    }
    }
    在下面的代码中,你可以看到我提取出了消费者所使用的两个方法,并将其置于一个接口中。现在消费者不必关心和了解实现了这些方法的类。我们解除了消费者与实际实现之间的耦合,使其只依赖于我们创建的契约。
    public interface IClassRegistration{ 
    void Create();
    Double Total=0d;//
    }
    public class ClassRegistration extends IClassRegistration{
    public void Create(){
    // create registration code
    }
    public void Transfer(){
    // class transfer code
    }
    public Double Total;//getter setter
    }
    public class RegistrationProcessor{
    public Double ProcessRegistration(IClassRegistration registration) {
    registration.Create();
    return registration.Total;
    }
    }
     





  • 相关阅读:
    Linux内核从原理到代码详解
    linux内核研究-8-块设备I/O层
    《Linux内核分析》课程总结
    Nginx 重写规则指南1
    Nginx初探
    Nginx源码分析:3张图看懂启动及进程工作原理
    nginx源码分析 +redis的那些事儿
    I/O 模型及其设计模式
    高并发性能调试经验分享
    myawr
  • 原文地址:https://www.cnblogs.com/jgig11/p/5786319.html
Copyright © 2011-2022 走看看