码迷,mamicode.com
首页 > 编程语言 > 详细

java面向接口编程

时间:2015-08-09 20:45:53      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:程序员   设计   class   oop   java   

在oop中有一种设计原则是面向接口编程,面向接口编程有很多好处,具体百度一大片,我来谈一下具体的使用中的一些不成熟的见解!!

首先面向接口编程可以消除类之间的依赖关系,使得业务只依赖接口。

这样有什么好处呢?

这样的好处大大的,比如说我们声明一个car的接口,我们对车有以下行为,我们可以开车,洗车,推车,修车,拆车等等,

具体用代码实现:

package com.panther.dong.faceinterface;

/**
 * Created by panther on 15-8-9.
 */
public interface Car {
    public void driveCar(); //开车
    public void washCar();//洗车
    public void fixCar();//修车
}

假如说我大学毕业了,工作了,发了工资了,有钱了,于是乎(有钱就得烧啊),买了一辆自行车!!我就可以开车,洗车,有时候车坏了,

一看饭吃不上了,就得自己修车了

package com.panther.dong.faceinterface;

/**
 * Created by panther on 15-8-9.
 */
public class Bicycle implements Car {
    @Override
    public void driveCar() {
        System.out.println("双手拿把,助攻两步,启动,加速~~~");
    }

    @Override
    public void washCar() {
        System.out.println("买两张湿巾,给自行车做个保养");
    }

    @Override
    public void fixCar() {
        System.out.println("车掉了链子,路边赵根棒棒,自己按链子");
    }
}

上面代码实现了一辆自行车的基本行为(到现在自行车都买不起,不过可以想想以后,以后买了自行车会怎么样,有点小激动啊),虽然是自行车,也算有车的人了,

上班同事问我怎么来的,我把头一抬,高傲的说:开车来的!!这就是接口的一个好处,将实现封装,调用者不需要知道具体的实现就可以使用,只要知道具体怎么用就行

代码内部实现可以隐藏,不用暴露出来,降低了代码的耦合性。

接着有一天下班同事一起走,看到我骑着的是自行车,哎,屌丝一个,我还以为是高富帅呢,你们是不是也遇到过,对,看一些源代码的实现真是有点脱,不过用起来你就

不管它了!!

工作了10年攒了10w块钱,准备换车了,想了想挣钱不容易啊,还是不换了吧,接着有一个新颖大胆的想法,把自行车改成三轮车吧,接着把自行车大卸八块,买了个轮子,着了半天,钱也花了,自行车也废了,接着三轮车骑着老抛锚,哎,想死的心都有啊!!(在原先的类中改来改去,搞得逻辑混乱,系统维护越来越差,最后搞的系统重构),这时候,没办法了,不能走着去上班啊,只能买车了,把攒着娶媳妇的钱买了车,开车爽啊,

小汽车的行为代码:

package com.panther.dong.faceinterface;

/**
 * Created by panther on 15-8-9.
 */
public class EngineCar implements Car {
    @Override
    public void driveCar() {
        System.out.println("挂挡,加油,走起");
    }

    @Override
    public void washCar() {
        System.out.println("花钱洗车,无奈");
    }

    @Override
    public void fixCar() {
        System.out.println("师傅,换个轮胎,便宜点");
    }
}

最后就可以上班了,但是自行车只能卖废铁了,哪天小汽车坏了就得走着去上班了!!


所以面向接口编程的第二个好处就是当客户需求变化时,只需编写该业务逻辑的新的实现类(买小汽车),通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。

我现在就体会到这两个好处,以后体会到别到好处再谈!!!!~~~~~~

版权声明:本文为博主原创文章,未经博主允许不得转载。

java面向接口编程

标签:程序员   设计   class   oop   java   

原文地址:http://blog.csdn.net/liu136313/article/details/47378693

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!