设计模式-适配器模式

现在手里有一台笔记本电脑,充电需要12v电压,而家里的电源都是220V,如我们所知每一台笔记本都有一个电源适配器,经过适配器的电压就会被转换为12V,将适配器另一端的插头插上电脑,电脑就开始充电了,现在我们用代码写出这个过程。

1.首先我们要有一台笔记本电脑


/** * Created by HY on 2017/5/15. */

public class Computer {
    public void  inputPower(int power){
        Log.d("Computer","需要输入12V,现在是"+power);
    }
}

2.搞一个电源适配器

提前准备好插线板:

/** * 插线板 * Created by HY on 2017/5/15. */

public class Power220V {
    public int providePowers(){
        return 220;
    }
}

这是我们的电源适配器:

/** * Created by HY on 2017/5/15. */

public class PowerAdapter implements PowerInterface {
    private Power220V power220V;

    public PowerAdapter(Power220V power220V) {
        this.power220V = power220V;
    }
    //根据传入的接口,转换为需要的电压
    @Override
    public int provide5Vpower() {
        int power = power220V.providePowers();//获取到220电压
        return 12;
    }
}

3.找到笔记本的电源插口来插电源线(这个笔记本已经有了,只是在代码里体现出来)


/** * 电源插口 * * Created by HY on 2017/5/15. */

public interface PowerInterface {
    int provide5Vpower();
}

4.开始充电

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Computer computer = new Computer();

        PowerAdapter powerAdapter = new PowerAdapter(new Power220V());

        computer.inputPower(powerAdapter.provide5Vpower());
    }
}

至于怎么应用到自己的项目里,就看你的自由发挥了,适配器看着和工厂模式挺像的还有策略模式,因为主要思想其实都是面向接口编程。

你可能感兴趣的:(设计模式)