关于面向接口编程

原创 2016年08月29日 11:27:10

面向接口编程(很重要的一种编程思想):

优点:

松耦合,可以达到类似于插座的效果(热插拨)。

在spring的jdbc编程中,在引入数据库连接池的部分就做到了面向接口编程,以后无论换什么数据库连接池都不用修改代码
直接修改配置文件即可。可以屏蔽到大量的底层操作,这种编程方式在框架中得到广泛的应用,例如spring内部完全就
是面向接口编程的。

        如果不大量采用面向接口编程,框架几乎没法做到热插拨级别的松耦合,更别说为程序员带来大量的便利性,进行大量的封装。。。

下面是spring声名式事务处理的架构:

说明:

为什么在上图还要加上一个抽象类,而不是让具体的实现类直接继承接口呢?

1.首先我们需要明白接口、抽象类他们的作用

接口:接口其实就规定了必须要做的事情(做事情,就是调用方法)

抽象类:

1.先实现接口中操作都相同的方法:例如:commit()和rollback()方法在各个具体类中操作都是一致的,没有必要让具体的类在去实现这些方法,让具体类

直接继承即可,大大提高了编程的效率,简化了开发操作。

2.将接口中在各个具体类中操作不相同的方法设为抽象方法,让各个具体类在去具体的实现。最大程度的完成封装操作。

从接口到实现该接口的抽象类,再到继承了该抽象类的各个具体的ORM框架,在整合了不同的ORM框架的同时,屏蔽掉了大量的底层操作,这一切的一切都是为了面向接口编程。

ORM框架:

对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是

将数据从一种形式转换到另外一种形式。 这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机

会做优化,而这些在手写的持久层并不存在。更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护

手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。



Struts2的结果集架构


说明:
在struts2对结果集的处理中同样使用到了接口+抽象类+具体实现类的三层架构。
版权声明:本文为博主原创文章,未经博主允许不得转载。

面向接口编程

谈到接口的时候,通常会涉及以下几种含义。经常说一个库或者模块对外提供了某某API接口。通过主动暴露的接口来通信,可以隐藏软件系统内部的工作细节。这也是最熟悉的第一种接口含义。第二种接口是一些语言提供的...
  • GB15600279399
  • GB15600279399
  • 2017年12月18日 13:34
  • 103

通过生活中例子模拟java面向接口编程实例

面向接口编程的例子,生活中的实例来说明接口的概念,对理解java接口有很大帮助!...
  • 5iasp
  • 5iasp
  • 2014年01月08日 18:27
  • 6351

面向接口编程与面向实现编程

面向接口编程与面向实现编程最近拜读了四人组的经典名作《设计模式 可复用面向对象软件的基础》一书,打算以博客的形式进行笔记与思考书中提到了可复用面向对象设计的原则,其中的第一个原则是: 针对接口编程...
  • u013400743
  • u013400743
  • 2016年04月26日 17:02
  • 7205

java中面向接口编程的好处

一、 像J2EE中的API规范基本上都是接口,由各应用服务器来实现,比如:WebSphere按照这个接口实现自己的,WebLogic也按照这个接口实现自己的,作为开发者来说我们根本就不用去管谁是怎样...
  • Code_lr
  • Code_lr
  • 2016年03月15日 20:33
  • 5660

面向接口编程详解

  • 2015年10月09日 10:35
  • 272KB
  • 下载

面向接口编程

  • 2017年03月09日 18:27
  • 664KB
  • 下载

面向方面编程的四种通知接口

  • 2008年11月26日 15:23
  • 308B
  • 下载

面向接口的编程

  • 2012年08月19日 16:09
  • 26KB
  • 下载

面向接口的C++编程技术研究

  • 2010年05月31日 15:04
  • 265KB
  • 下载

周立功教授心血新力作《面向AMetal框架与接口的编程(上)》

  • 2017年08月22日 13:56
  • 16MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于面向接口编程
举报原因:
原因补充:

(最多只允许输入30个字)