请教一个问题 英文编程里的几个概念

要理解AOP,必须先理解好AOP的一下几个术语:
1、 切面(Aspect):
一个关注点的模块化,这个关注点可能会横切多个对象。事务管理是J2EE应用中一个关于横切关注点的很好的例子。在Spring AOP中,切面可以使用基于模式)或者基于@Aspect注解的方式来实现。
2、连接点(Joinpoint):
在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。
3、 通知(Advice):
在切面的某个特定的连接点上执行的动作。其中包括了&around&、&before&和&after&等不同类型的通知(通知的类型将在后面部分进行讨论)。许多AOP框架(包括Spring)都是以拦截器做通知模型,并维护一个以连接点为中心的拦截器链。
4、切入点(Pointcut):
匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。切入点表达式如何和连接点匹配是AOP的核心:Spring缺省使用AspectJ切入点语法。
5、引入(Introduction):
用来给一个类型声明额外的方法或属性(也被称为连接类型声明(inter-type declaration))。Spring允许引入新的接口(以及一个对应的实现)到任何被代理的对象。例如,你可以使用引入来使一个bean实现IsModified接口,以便简化缓存机制。
6、 目标对象(Target Object):
被一个或者多个切面所通知的对象。也被称做被通知(advised)对象。 既然Spring AOP是通过运行时代理实现的,这个对象永远是一个被代理(proxied)对象。
7、AOP代理(AOP Proxy):
AOP框架创建的对象,用来实现切面契约(例如通知方法执行等等)。在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。
8、 织入(Weaving):
把切面连接到其它的应用程序类型或者对象上,并创建一个被通知的对象。这些可以在编译时(例如使用AspectJ编译器),类加载时和运行时完成。Spring和其他纯Java AOP框架一样,在运行时完成织入。
通知类型:
前置通知(Before advice):在某连接点之前执行的通知,但这个通知不能阻止连接点之前的执行流程(除非它抛出一个异常)。
后置通知(After returning advice):在某连接点正常完成后执行的通知:例如,一个方法没有抛出任何异常,正常返回。
异常通知(After throwing advice):在方法抛出异常退出时执行的通知。
最终通知(After (finally) advice):当某连接点退出的时候执行的通知(不论是正常返回还是异常退出)。
环绕通知(Around Advice):包围一个连接点的通知,如方法调用。这是最强大的一种通知类型。环绕通知可以在方法调用前后完成自定义的行为。它也会选择是否继续执行连接点或直接返回它自己的返回值或抛出异常来结束执行。
通过切入点匹配连接点的概念是AOP的关键,这使得AOP不同于其它仅仅提供拦截功能的旧技术。 切入点使得通知可以独立对应到面向对象的层次结构中。例如,一个提供声明式事务管理 的环绕通知可以被应用到一组横跨多个对象的方法上(例如服务层的所有业务操作)。
阅读(...) 评论()介绍J2ME编程中的几个重要概念 2_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
介绍J2ME编程中的几个重要概念 2
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢一个新手想请教一些如何学习编程的问题 | Hello world!小组 | 果壳网 科技有意思
126856人加入此小组
我的属性1.要上大一的工科学生(通信工程)。2.编程基础等于03.英语水平不能够阅读原版书。由于大一的时候有C语言这个课程,所以我想学习的语言是C。我希望把编程作为一种个人能力而不仅仅是应试手段。所以,我恳请各位高手:推荐有助于学习C的书(s)。(如果是一系列书的话能否提供学习的顺序)网上有人喷谭浩强的书,但我看不懂他们喷的是什么。有高手觉得这本书用来入门不错吗?谢谢。
+ 加入我的果篮
软件工程师,小众软件爱好者
谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.
软件工程师,小众软件爱好者
感觉看看VC++之类的比上课学的那些有用.
引用nasdaq的回应:谭浩强的书完全是给门外汉看的....都是最最基础的内容. 而且也完全不值得学上一个学期.那您觉得啥书比较好?我觉得我理解能力还算不差。
数学/化学爱好者
我推荐这本:How to Think Like a Computer Scientist: Learning with Python唔 python……
软件工程师,小众软件爱好者
我不是搞C的啊. 不好推荐.LS坑爹
米有看过谭浩强的书,所以也不好说什么。据说K&R的The C Programming Language不错,有中文版。学习路线或许可以参考一下国外大学的CS课程。
C#程序设计师
感觉老外那些红壳子的一个系列都挺好的
C语言用 谭浩强 的书入门是很不错的选择!我当初就是看这本书入门的 要想做一个带有窗口的应用程序就不知道咋弄了当初百度了好久,也没什么头绪。然后转去学C++了,说实话C++很强悍学的越多发现里面的东西浩如烟海,然后也没有摸出什么头绪。可能是自学的缘故吧,没人指导学起来没一个系统的过程。后来又去学java了。关于C语言的书也就是网上大家说的那些,想学好的话,还是要多写代码,多练习。还要牢记一些常用、让你觉得巧妙神奇的一些代码。还有就是有老师比没老师学起来要容易些!干嘛不问问学校的老师呢?
看到某位大侠推荐的书六本书去看看吧
直接学C++吧,C不学也可以,不然到头来反而不习惯。至于书,找一本不算太差的先入门,谭浩强的排版太差,容易让人养成不良的代码风格(要知道良好的代码风格很重要的),推荐《C++入门经典》,详细而且不难,书如其名,等到自己差不多了能编出个像样的程序来了,可以继续《C++Primer》,俗称红宝书,里面的内容相对深刻,但很实用。重要的是掌握编程的思想,培养自己的逻辑思维。其次,不要在编译器上面太纠结,什么我到底用VC6还是VC2005还是VC2008还是BCB云云……编译器只是编译器,他把你的代码翻译成机器语言并声称可执行程序。初学的时候没必要太深入编译器去研究。掌握语法和思想很重要。现在大学里面C基本都用Turbo C,这还好说,不过C++还有用VC6就太那啥了,VC6对C++的标准支持的并不是太好。也许有人认为这是小事,但要想成为一个真正出色的程序员,这些都是必要的知识。刚开始都是控制台界面的程序,如果你像编写图形界面的 win32/64平台下运行的程序 建议使用C++ builder,它可以帮助你省去不少花在图形界面设计上的时间。还有,做好时刻学习新知识的准备,书本上的远远不够,从语言本身,到数据结构,再到操作系统,具体项目中又会遇到各种各样的东西。反正程序员要了解各方面的知识,而且知识更新太快了,不要指望一下子就掌握他们,要循序渐进,需要什么就学什么,多利用网络资源,CSDN是个不错的地方。你会发现,任何一个小的问题都足够研究好一阵子,不过这也正是编程的乐趣所在。祝楼主学有成!
入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之
C#程序设计师
国产编程书不推荐,系统化太差,
软件工程师,小众软件爱好者
引用forak的回应:入门不推荐看VC++,VC和C语言是两码事。K&R的《c程序设计语言》不错,原书名是The C programming Language。“谭浩强的书是给门外汉看的”这种说法不敢苟同,国内的教材一个值得肯定的地方是脉络比较清晰,适合入门。可以先看谭浩强的书,K&R辅之我觉得就实用性来说,LZ还是学VC++更有用处. 单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼
作为参考,LZ可以看看:
工程热物理硕士生,DIY爱好者
去报个二级考试呗……这样你就有动力每天啃C++的书了……
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。
引用ho.imbalance的回应:作为参考,LZ可以看看:漫谈C语言及如何学习C语言如何学好C语言THX very much
软件工程师,小众软件爱好者
引用Pale的回应:我从谷歌上了解,通信工程似乎更依赖于c(底层偏硬件?还是嵌入式开发?),所以我想从c学起。如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.引用Pale的回应:我想如果进一步了解了一门计算机语言,那么理解别的语言应该会相对轻松一点。。(个人主观臆测)谢谢各位。如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
软件工程师,小众软件爱好者
PS: 想搞好嵌入式记得多泡实验室.....
.net/网络工程师,电子商务师
嵌入式和Web应用开发,这个差别是够大的。不过若是用.net平台的话,差异性可以减小到可接受的程度。除了糟糕的启动速度和平台自身的bug,想做RAD的话.net平台不错。引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
推荐吴文虎的《程序设计基础》,红色的。前一阵才知道谭浩强还写了C++的书,反正不要买就是了。
Verilog就算了好吧,人家属于硬件的范畴了。基本上你跟着学校的进度走就行了,但是真的希望学到东西的话,在跟着学校进度的同时务必要把他们在书本上的东西都吃透(工作量巨大),现在学校开课的话基本上跟专业沾边的都会开,广度有但深度不够,所以不用担心入门的问题。接下来自学的过程中,建议去新华书店买正版书看,机械工业出版社或者人邮出版社的系列书籍都不错。至于买正版的原因,淘宝有高仿很便宜,但是没割肉没动力看……引用nasdaq的回应:如果是想做嵌入式用的话确实是C,汇编,Verilog较多. 但是主要还要了解单片机指令集神马的.如果不是一个方向的应用,理解起来估计也不会轻松多少.比如嵌入式和Web应用开发,里面差别就很大.
如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。
引用Moonsinger的回应:如果希望把编程作为一种个人能力而不仅仅是应试手段,那在大学阶段,不管你学的是哪种语言,高数要学好,数据结构要学好,离散数学要学好……以上是我家那只程序员的切身体会。说的有道理,还有更深层次的算法基础等等,高数和离散应该是必备的,只要是理工科就应该学好。当然作为扩展,可以学学加密、安全等方面的内容。
引用nasdaq的回应:我觉得就实用性来说,LZ还是学VC++更有用处.单纯学C不学C++的人应该不多吧...个人觉得学完谭浩强的书不算入门.只算在门外往里看了一眼我学编程是从Pascal开始的,花了我不少时间来逐步熟悉;后来花了几天在C语言“门口看了一眼”,上大学前只会写控制台程序;再后来因为应用的需要花了几个小时在MFC的“门口看了一眼”。窃以为VC并不是什么艰深的东西,毕竟它只是个工具,跟word一个性质,不过就像使用word必须先学会打字一样,要掌握一种开发工具必须得熟悉一门语言——这就是我所理解的“入门”。以我粗鄙的认识和浅薄的经验来看,VC不过是调调API、拖拖控件补补代码,熟练掌握一门语言之后会使用它是触类旁通水到渠成的事情。以前图像处理大作业要求用VC做一些算法仿真,老师都不屑于介绍VC怎么使用,一句话:自己去学。我不知道你指的“入门”是个什么概念、和我的理解有多大出入。如果你是指能深入解剖VC的底层代码、逆向这个软件或者独立设计一个类似MFC的框架才算是入了门的话,我确实还停留在“只在门口看了一眼”的水平,而且我估计九成以上靠VC混饭吃的程序员也“只在门口看了一眼”。
谢谢各位。
生物信息学硕士生
学习编程不在于看多少书,而在于自己动手编写多少代码。楼主上这门课有教材吧?就用你们的教材就够了。平时就是自己给自己出题,或者想一些比较有意思的算法题(网上也有很多),自己动手写。遇到问题学会到网上查资料、到论坛里和别人讨论或者查该门语言的原始英文文档。国内很多所谓的编程语言教程大多翻译自这些文档,而且翻译的要不就是断章取义,要不就是完全曲解,有些专业术语也是东拼西凑,让人摸不着头脑。所以非要买书的话请尽量买原版(影印版)。如果你觉得自己英语水平不够,那更应该通过看原版书来强化训练了,而不是去逃避,英语好你会发现对于从事IT行业来说是种很明显的优势。另外谭浩强那本书确实言过其实。我不是高手,能提供的建议就这些了。
对新手来说c语言的书哪本都差不多,我工作中有时也会当工具书翻出来查一下楼上说的对,动手写代码才是最重要的。书是当你不会写代码时去翻的。
软件工程师
算法才是王道啊
引用wheeler的回应:算法才是王道啊算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
软件工程师
给软件一点灵魂吧。 一点算法都不玩的话。 码农就真是码农了。。。引用凉薯的回应:算法只是比较有研究头而已,实际工作中除非你是专门做这块的,一般应用软件用不到多少算法,在高级能力上更需要的是软件工程和软件架构的知识。
c++primer,看看这个
我来补充点海外大学CS起步的经验吧。。。我们基础课三门,第一门python(原来是用scheme的),主要讲编程基础和语言;第二门java,主要讲数据结构和算法;第三门C和汇编,主要讲系统和底层。个人感觉和国内搞CS的同学们相比,这样走得更容易一些,比起一开始就啃C或者C++,python的确容易上手,而且可以让人专心在程序思路而不是代码上。课程内容由浅入深,互有交叉。当时我有国内同学和我说老师上来就教汇编。。。我觉得是疯了,不知各位国内的大牛们怎么看。动手必然重要的,我们每门课每周一个实验(相当于上机)一个作业;一学期还有三到四个大的project,题目都很有意思,比如计算机下棋,tweet数据分析,游戏之类,几个人在一起做也锻炼团队合作能力。至于书的话,谭浩强的书我自学的时候看过,觉得挺枯燥的,后来到大学看教授选的课本觉得比那个好多了。。。我很不喜欢把语言和CS理论混在一起讲,尽管最后两者会结合,但是反复切换真的很容易乱。。。语言和思路就是写字和构思的关系,不会构思,字写得再好也白搭。另外关于英语的事。。。这个确实得抓,LZ现在就开始发力吧,英语在IT界太重要了,很多概念中文是说不太清的,很多好的文档之类也没有中文版。
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号

我要回帖

更多关于 编程的基本概念 的文章

 

随机推荐