`
seadragonnj
  • 浏览: 57149 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

究竟要不要接口?

阅读更多

解释一下,为什么需要接口而不直接实现类。

    在这个帖子里讨论了关于接口的使用,有一句话总结的很好:接口是定义行为规约的,抽象类是提供公共行为的,具体类是实现具体行为的。但定义归定义,在实际开发中,应该怎么用接口呢?目前主流技术中的接口是否过度使用?这些问题也许只有大牛(有极其多的项目经验)才能回答吧,俺等小子就不发表什么观点了,做做总结提高提高就行了。

    帖子中大多数是强烈支持面向接口编程的,但能看出大部分都是跟风,基本上都没有什么论据来支持这个观点,有的也就是从书上找到的解释接口的好处,但它给项目本身带来多少好处,基本上没人说上来,比如有人说接口可以实现多态,听上去很对,可实际项目又有多少会用到多态,不怕大家笑话,到现在我还没在项目中真正运用过多态,大多数情况下一个接口就是对应一个实现类,感觉就是为了接口而接口,本来这个帖子也没什么新意了,但由于axeon的横空出世,使得这个帖子有一些看点,最后边robbin老大也现身了,不过看来讨论的最后也就不了了之了,关于这个问题本来没有一个标准,从来是一个用来打口水仗的好题目,

       Axeon认为大多数情况下,接口无端的增加了代码的复杂性,并且在大多数情况下接口没起到它应该起的作用,或者说是我们一厢情意地认为用接口可以带来移植性、扩展性,可直到这个项目(产品)寿终正寝时,这些特性还没用到过。这就是我们一边叫嚣着要面向接口编程,一边又怀疑这么做有什么用的原因吧。在这个帖子里有一点说有很多,单元测试需要接口,只有面向接口编程才能很方便地进行单元测试。

       Axeon在帖子中说:任何一门技术,从最基础的经济学角度来说,都要满足多快好省的要求,才能不被淘汰,才能够淘汰别人。那么什么是多块好省呢?我的理解是要能够快速开发,运行还要高效。如果从这个观点来评判,我想思路会更加清晰的。如果从这个角度来说,接口的害好像大于利,应该摈弃,但为什么面向接口又这个流行呢,我想一定有它的道理吧!

只是俺愚钝,不明其义吧了,

       大段引用一下axeon的话

“新技术的特性必然要有需求与此对应,否则这个新特性就是屠龙术,仅仅有可吹嘘的本钱。另外,这个需求首先应该是业务需求,而不是解决自身问题的。因为技术最终是为业务服务的,通过业务来体现技术价值

从多快好省的角度上来说,java当前所谓框架的代表ssh,引导的是一个开发慢,运行慢的技术派系,他的所谓维护性和扩展性(或许)优势是不明确的,甚至是不存在的。开发效率和运行效率是最大的软肋。

为什么要接口?除了隐藏实现,那么就是多态。如果使用spring,有什么好隐藏的?更因为编译器就绑定实现了,怎么玩多态?如果为了庞大而好看,我建议你一个类里只写一个方法好了!

为什么要继承?而不用调用?相比较继承,调用是更清晰的关系,除非是必要继承,没事儿你继承什么?

更不说大把人用的springbeanFactory,更是笑死人了!这也是spring对他来说最重要的用处。首先如果只用单例,我干嘛不在类和方法上加上static?从实际使用上来说,spring通过hashmap来查找实例,而static是从内存直接调用,哪个更简单,效率更好,甚至零配置?

至于分层,更是笑话!曾经有一个帖子,抱怨招聘了一个技术高手,过来之后就会分层。结果招致群攻,简直笑死我了。我回了一个帖子,说了一句按需分层,竟然被评差贴。

一个项目的技术水平根本就不可以用是否使用ssh,是否分层来进行判断。更不说大把分层的代码里面仅仅是对上层的调用,但是如果程序需要改动,分层越多越难改,便于维护压根就是一个说辞。”

       可以看的出axeon是从实战出发的,姑且不说他的观点对不对,但至少很实在,是自己在做项目中的一些体验,比那些动动就空谈这个技术好,那个技术坏的的人强多了,但我想开发不能只追求多快好省,维护才是最重要的,用ssh的好处之一就是它将来便于维护(当然前提是你会用ssh

       这个问题很大。。。。。。。。。。。。。continuing

分享到:
评论

相关推荐

    API接口手工防御被恶意调用和接口被攻击

    通常情况下的api接口防护有...本地加密混淆,以上提到的加解密数据和算法,不要直接放在本地代码,因为很容易被反编译和破解,建议放到独立模块中去,并且函数名称越混淆越难读越安全。 User-Agent 和 Referer 限制 ap

    共享平台相关标准-服务接口

    04094_Web_Feature_Service_Implementation_Specification_V1.1.pdf 05007r7_Web_Processing_Service_WPS_v1.0.0.pdf 06042_OpenGIS_Web_Map_Service_WMS_Implementation_Specification.pdf 06083r8_OpenGIS_Web_...

    小程序web-view调用H5页面判断环境并发起小程序微信支付接口示例完整代码包

    可以进微信>>发现>>小程序搜索:飞机杯男用 进“飞机杯男用”这个小程序可以看我做的接口演示,当然小程序里面也有我的联系方式,可以通过小程序联系我,不忙的时可帮简单解答,虽然说这代码很完整但是要对接到自己...

    接口模式的制作DLL方法向导

    接口模式的制作DLL方法向导 释放的目标文件夹就是 DLL工程文件夹 释放完成后,输入DLL的文件名 ... 且建立的对象,如窗体等,都必须先要释放,否则释放DLL主程序会出错注:3、共享数据库组件 如TAdoconnection

    莲匸AI网站系统PHP源码 openai接口

    莲匸AI网站系统源码仅21kb,实现用户管理,一键添加接口,一键修改接口,在线ai5个模型聊天,文转图,图转图,并且实现5个不同...注意:请您把没一个页面文件打开仔细阅读批注并修改,最好不要用我的接口把我流量刷爆了

    dz测试接口.ljobx

    就是上图这个,把默认的“123456”修改成你想要的,修改好了一定要保存,看不懂那就不要修改了。 然后把这个文件上传到DZ网站的根目录,不知道什么是根目录的自己百度,不要问上传到那里,自己的网站 别人怎么知道...

    Amazon C# 卖家/S-API接口Demo,官方Demo一堆错误,千万不要被误导

    Amazon 卖家接口Demo,官方Demo一堆错误,千万不要被误导。 解决: 1、Access to requested resource is denied 2、The security token included in the request is invalid 有疑问可提问

    2013年最全的JAVA面试题集,内部资料,绝对能帮助到你,不要后悔哦。

    抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concrete class)?(等级1级) 18.2.Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类?是否可以 implements(实现)interface(接口)?(等级1...

    常见计算机接口(图)

    常见计算机接口图片,超高清版,不要和我说所有接口你都见过哦。。。

    为什么rest接口返回json建议采用下划线形式,不要用驼峰

    为什么rest接口返回json建议采用下划线形式,不要用驼峰?今天小编就来为大家说明一下原因,还等什么?一起跟随小编过来看看吧

    计算机组成与设计 硬件软件接口 第五版 答案

    计算机组成与设计 硬件软件接口 第五版 答案 看了感觉还不错,所以分享下,本来想不要积分的,想下载的可以给我发邮箱ni-ys13@qq.com,我会发给你们的 有个不情之请,请关注一下我

    接口示例(不要下单独的啊,这个是全的,原谅我萌新)

    《Python:接口编写之如何编写服务端与客户端》中使用的示例文件 这个是包括服务端、客户端、proto以及编译好的两个文件。我单独上传以后才想起来可以打压缩包。其实文章最后有附代码,大家去简单复制粘贴就可以,...

    操作系统接口设计(课程设计)

    本文档谨供你参考,不要完全照抄!程序还是要自己写的,不然就没有意义了!你自己的事,自己决定吧! 利用C语言、DOS中断中21H与屏幕显示相关的中断调用完成设计,具体包括 1. 命令解释器 2. 列目录命令 3. 显示...

    汇编语言和接口实验报告.pdf

    该文档为pdf,主要目的是帮助后辈们更加理清实验内容,希望不要抄袭,是电子科技大学计算机学院汇编语言和接口实验报告,里面包含四个实验,希望不要抄袭

    opc协议接口_英文

    不要资源分,共享给大家 介绍opc协议接口的,英文版本

    百度人脸对比接口使用

    调用了百度的人脸对比接口,使用winform完成,代码注释较多,适用于新手,大牛就不要下载了

    医保接口源码

    用于现行的医保接口源码,做医疗行业的朋友不要错过!

    网络加速GENESIS

    好用的加速软件,不看不要后悔???????????????????????????

    路由器接口详细图解.doc

    对于这些,不要说一般的网络爱好者,就连许多网管人员都无法说清楚。为此笔者 向大家全面介绍路由器的各种接口及连接方法。 本文快速导读 接口篇 第一页 局域网接口 第二页 广域网接口 第三页 路由器配置接口 连接篇...

    XT电源接口封装(三维PCB封装库)AD用PCB封装库

    XT电源接口封装(三维PCB封装库)AD用PCB封装库,作者主页下有全套的三维PCB封装库,欢迎大家下载使用。文件为作者千辛万苦整理的,请大家自用,不要随意传播,谢谢!~

Global site tag (gtag.js) - Google Analytics