1.什么是面向接口编程?(IOP)

面向接口编程(Interface Oriented Programming:IOP)是一种编程思想,接口作为实体抽象出来的一种表现形式,用于抽离内部实现进行外部沟通,最终实现内部变动而不影响外部与其他实现交互,(代码不会报错,接口里面的代码可以根据不同的标准进行更改)可以理解成按照这种思想来设计编程的方式就可以称为面向接口编程。

它并不是比面向对象编程更先进的一种独立的编程思想,可以说属于面向对象思想体系的一部分或者说它是面向对象编程体系中的思想精髓之一。

DAl(数据库逻辑)——》BLL(业务逻辑)  UI---->BLL----->DAL

业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。

数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。

IDAL(Interface Data Access Layer)DAL的接口层:

是DAL的接口层它体现了“抽象”的精神,或者说是“面向接口编程”的最佳体现。在工厂设计模式中需要支持多数据源时面向接口编程的思想就有所体现。然后“IUserDAL iUserDal = new UserDAL();”。逻辑上我们可以这么理解,那就是以为存在这样的关系:BLL->IDAL->DAL,认为IDAL起到了BLL和DAL之间的桥梁作用,BLL是通过IDAL作为接收器来接收不同的DAL的对象。实际上你如此编码:“IUserDAL iUserDal = ClassFacotry.CreateUserDAL();”,那么在执行“iUserDal.SelectUsers()”时,其实还是执行的UserDAL实例,而不是IUserDAL实例,所以IDAL在三层中的位置是与DAL平级的关系。但是面向接口的思想就在此体现了。

面向接口编程的优点?

1.降低程序的耦合性。其能够最大限度的解耦,所谓解耦既是解耦合的意思,

它和耦合相对。耦合就是联系 ,耦合越强,联系越紧密。在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换 其中之一的难度就越大,扩展功能和debug的难度也就越大。

2 易于程序的扩展;

3 有利于程序的维护;

2.什么是面向过程编程?(POP)

面向过程编程(Procedure Oriented Programming 简称POP :如C语言)。

着重的是过程,解决一个问题的时候,先分析出解决这个问题需要的步骤,然后使用函数将这些步骤一步步实现,然后处理问题的时候按照一定的顺序将这个函数一个个调用,方法执行完后问题也解决了。

面向过程编程的思想在解决问题时,是将问题拆分成一个个步骤,每个步骤封装成对应的函数,然后按照某个顺序去执行,从而解决问题。

3.什么是面向对象编程?(OOP)

面向对象编程(Object Oriented Programming 简称OOP :如C++,JAVA等语言),侧重点在对象,解决一个问题时,先将问题中的包含的事物抽象成对象概念,对象中包含具体的属性和行为,真正执行时再让每个对象去执行自己的某些方法,从而解决问题。

向对象编程的方式是先将问题中的实体抽象成具体的对象,然后再将属性和方法封装到对象中,最后通过不同的对象执行相应的方法解决问题。

什么是面向接口编程、面向过程编程、面向对象编程?相关推荐

  1. 面向过程与面向对象编程的区别和优缺点

    ■面向过程与面向对象编程的区别 转载至:https://www.cnblogs.com/strivers/p/6681876.html 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步 ...

  2. 从面向过程到面向对象编程的思想转变

    项目的需求,要实现一个功能:更新表中若干行的部分列数据.Are you 明白大概要实现什么功能了吗? 嗯,我知道你明白了.那就接着往下看把. 遇到这样的问题,我相信很多人首先想到的方法是直接使用upd ...

  3. python对象编程例子-Python3.5面向对象编程图文与实例详解

    本文实例讲述了Python3.5面向对象编程.分享给大家供大家参考,具体如下: 1.面向过程与面向对象的比较 (1)面向过程编程(procedural programming) 面向过程编程又被称为: ...

  4. python面向对象编程的优点-Python面向对象编程

    面向过程编程,重点在于过程(可以理解成how),即以过程为核心,计算机/写代码的人会把精力聚焦在具体的实现过程上,这个过程第一步干什么,第二步干什么,直到最后完成了你的目标. 面向对象编程,重点在于对 ...

  5. 面向过程与面向对象——编程思想的演变

    编程语言从无到有,据维基百科统计,至今为止有600多种.如此众多语言,需要逐个学习吗?实际上编程语言都是相通的,编程语言只需要精通一门即可,其他都能融会贯通.比如Java与C++就差不多,Java和C ...

  6. 面向过程和面向对象编程的优缺点

    [1]面向过程和面向对象的比较 网上发现了一篇文章,说了一下OP与OO的不同,并且打了一个比喻,通俗易懂. 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的 ...

  7. 面向过程与面向对象编程实例

    题目:要求输入两个数和运算符号,得到结果. 1. 面向过程编程 #include <iostream> using namespace std;float operationFun(flo ...

  8. python编程求导数_面向对象编程 —— java实现函数求导

    首先声明一点,本文主要介绍的是面向对象(OO)的思想,顺便谈下函数式编程,而不是教你如何准确地.科学地用java求出函数在一点的导数. 一.引子 defd(f) :defcalc(x) : dx= 0 ...

  9. python 面向对象编程简称_Python基础-面向对象编程

    简介 三中编程范式 面向过程编程 函数式编程 面向对象编程 面向对象和面向过程对比 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Lin ...

  10. 面向对象编程(OOP)面向对象编程(OOP)

    Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码的可理解性. 面向对象编 ...

最新文章

  1. HTML5 Dashboard – 那些让你激动的 Web 技术
  2. Java项目-Javaweb实现个人博客
  3. 巨杉数据库:金融级数据库是怎样炼成的
  4. OpenGL point shadow点阴影的实例
  5. 在java中arraylist_在Java中将ArrayList添加到另一个ArrayList
  6. 服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载
  7. 等待正确的时刻–集成测试
  8. ihtml2document能不能根据id获取dom_一段监视 DOM 的神奇代码
  9. 飞鸽转载异步操作(二)
  10. c99什么意思_C语言中%c,%s分别代表什么意思?
  11. 编程通用知识 二叉树
  12. Mathematica图片修复
  13. BZOJ.3648.寝室管理(点分治 树状数组)
  14. 电话用计算机接听,有了这个神器,在PC上也能接听iPhone电话、收发短息啦(安卓也可以哦~)...
  15. java开发设置用户头像_如何修改 WordPress 的用户默认头像?
  16. 2019级软件工程应用与实践-人工智能快递柜(代码分析7)
  17. mongodb集群修改IP地址
  18. F28335的储存器及其地址分配
  19. redis分布式代理工具选型与功能验证
  20. FLV视频转换的利器 - ffmpeg.exe

热门文章

  1. Vue结合element-ui实现导航菜单展开收缩小功能
  2. 华为云微认证《搭建Discuz论坛网站》重点笔记
  3. 【笔记】GEE之python学习
  4. kettle Oracle任务输入报错ora22924,ora01555
  5. 基于微信运动场地预约小程序 毕业设计毕业论文 开题报告和效果图(基于微信小程序毕业设计题目选题课题)
  6. 脑电波实时数据收集——RDA—数据包定义
  7. Kubernetes控制器和service
  8. 蓝牙nrf52832的架构和开发
  9. 富文本编辑器CKEditor配置及图片上传配置
  10. 電子郵件退信原因及寄信錯誤查詢