» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

java编程思想有一个例子没看懂,求指点。。。

File类就好像一个施工队,施工队里头有流程是筛沙(accept),原来有专人干这事,而且干这事需要有筛沙证(接口)!
现在有个新项目,要求有新的筛沙工艺,所以包工头(码农,就是你),找了个新人回来,名字叫DirFilter,你先让他考个筛沙证(继承接口),并让他学会新的筛沙工艺(实现accept方法),最后你把新人换掉原本的那个筛沙的哥们(path.list(new DirFilter()))
这样干活的时候,前一个环节的哥们把粗沙丢给这个新人,然后对他吼“筛沙”(调用accept),负责筛沙的新人就老老实实的按照他学的筛沙工艺筛沙,筛完的沙给下一个工人(return)……
这里头最大的优点就是,其实包工头也不需要知道施工流程究竟是怎样的,反正他知道,只要找个有筛沙证的哥们,并且告诉他新的筛沙工艺(实现accept),这包工队就会像以前那样工作!
其实面向对象开发里头,处处都是这种结构,简单来说,为什么要面向对象开发,要的就是这个目的!


[ 本帖最后由 cf3b5 于 2017-7-6 10:45 编辑 ]


本帖最近评分记录
  • dataeast 激骚 +1 精品文章 2017-7-6 12:45
  • gogoler 激骚 +1 最骚 Rated by wap 2017-7-6 11:11
  • 土豆茄子 激骚 +1 恭喜发财 2017-7-6 10:56
  • jun4rui 激骚 +1 最骚 Rated by wap 2017-7-6 10:55

TOP

引用:
原帖由 shixn 于 2017-7-6 10:20 发表
posted by wap, platform: Android
list方法会去调用accept?

这部分代码是封装好的没显示出来?
确实不用显示,accept这本来就是file类里头的细节,你通过文档了解到有这个环节就行了,细节不用去关心!
实话说我觉得要学好OO,首先就要习惯不要每个环节都去挖代码,本来oo目的就是为了封装之后屏蔽这些细节的,要养成抽象的去思考问题
本来一个项目随随便便几十万上百万的代码,没这个抽象的概念,老是去挖代码,还搞个P啊……



TOP

posted by wap, platform: iPhone
引用:
原帖由 @yzh  于 2017-7-6 13:45 发表
觉得很复杂是吗?放弃java吧骚年,投入php怀抱吧,拥抱世界上最好的语言:D
任何语言都要懂这个!


TOP

posted by wap, platform: iPhone
引用:
原帖由 @shixn  于 2017-7-6 14:03 发表
其实我都不敢说自己会编程,充其量就是会写点代码。。。
你也不用太谦虚,我见过不少在这行干了3,5年的照样不懂这些!纯粹就是拼代码…

TOP

引用:
原帖由 zy450 于 2017-7-6 15:27 发表
现在在转行学java后端,感觉框架根本学不完,而且技术淘汰更新还快。。。

请教各位大佬,编程应该怎么学?最好的方法就是多写代码吗?
框架其实都是差不多的,特性细节有差别而已,真正理解了一个框架,其它的框架很快就会了!
其实我觉得写程序关键是要习惯抽象思维,想问题要学会从上至下,从大至小的想问题,俗话说面向接口编程!
还有要习惯不要老去扒细节,一个框架动不动就是几十万上百万行代码,你扒细节扒到何年何月去了!
一旦习惯了这种模式,你会发现,无论是自己写的代码,还是看别人的代码,编写和学习效率都是杠杠的
因为这行专业的大家都是差不多这样子思考的,大家的思路一对头,看两下就知道别人写的是什么,为什么要这么写,自己该怎么用了!
我见过很多开发,很多都是一上来就喜欢扒细节,需求一讲完就开始写实现代码,按都按不住!
新人还好,你讲他还听,慢慢他有感觉了他就知道你说的没错!
最怕就是有些在别的地方干了3、5年的所谓高级开发,TMD你和他说他还和你怼,最后无论是质量还是效率都TMD一塌糊涂,还以为自己很牛逼似的……
本帖最近评分记录
  • zy450 激骚 +1 恭喜发财 2017-7-6 16:39

TOP

引用:
原帖由 cc0128 于 2017-7-6 18:07 发表
posted by wap, platform: Chrome
java在语法上挺sb的.这几年才有lambda..
这种接口就一个method挺扯淡的.

本帖最后由 cc0128 于 2017-7-6 18:09 通过手机版编辑  
其实你不能说他SB,java优点也就在SB上,要知道工业化的语言其实SB一点有好处,毕竟一大帮人一起开发,太灵活了其实就是坑的开始……
这几年火起来的语言,我多少有点感觉是个人英雄主义的味道,基本是几个人一个小团队就能搭一个大架子这种,所以很多地方要多灵活有多灵活,省事最关键!
其实我觉得java确实有点老了,但是特别大的项目来说还是他比较合适。

TOP

发新话题
     
官方公众号及微博