现在软件开发中经常提到面向对象编程,面向接口编程,对于许多初学者难以理解接口到底是什么,为什么要面向接口编程。今天就简单说一下个人理解。下面先从一个模拟场景引入。
话说,刘备、关羽、张飞、诸葛一起创业,开了一家“蜀国软件科技有限公司”,刘备负责市场拓展、关羽负责产品研发、张飞负责销售、诸葛负责后勤。公司由于刚刚成立需要制作一个“工作规程”来保障公司的运行。诸葛大才,很快写好并贴到了墙上。规程如下:
刘备会见客户面谈需求;
关羽收到需求后进行产品研发;
产品成功后张飞进行销售。
后来随着业务发展,公司规模越来越大,每个人的工作也越来越多,越来越细。诸葛隔三差五就去修改“工作规程”,最终“工作规程”由3条变成了3W条,“工作规程”也稳定下来了,诸葛终于空闲了一周,心里那个爽啊。工作规程如下:
刘备XXXXXX;
关羽XXXXXX;
张飞XXXXXX;
........................
关羽XXXXXX;
但是,一周后,张飞要离职了,赵云接替了张飞的工作,工作规程需要重新限期一天修改。诸葛同学因为时间紧任务重,有三处漏改了,刘备一顿痛骂,诸葛心情抑郁,晚上开始喝着小酒对酒当歌了,月英看到老公如此郁闷,问明缘由,哈哈一笑,动笔一挥重写了规程,规程如下:
市场总监XXXXXX;
研发总监XXXXXX;
销售总监XXXXXX;
........................
研发总监XXXXXX;
市场总监:刘备
研发总监:关羽
销售总监:赵云
一周后,关羽同学离职,马超同学替代了关羽的位置,这时诸葛秒改了规程:
市场总监XXXXXX;
研发总监XXXXXX;
销售总监XXXXXX;
........................
研发总监XXXXXX;
市场总监:刘备
研发总监:马超
销售总监:赵云
这里 市场总监、研发总监、销售总监就是接口,它规定了各自的职责,刘备、关羽、张飞、赵云、马超就是对应于各个接口的实体类对象,“规程”就是一个程序,诸葛就是苦逼程序员了。
现在明白为啥要面向接口编程,而不要面向实体编程了吧。