第一篇:描头像的切面练习(小编推荐)
描头像的切面练习——介绍一种素描写生的特殊练习
作者:佚名 教学来源:本站原创 点击数:
素描的特殊练习是指在正常、正规的练习基础上穿插一系列的辅助性、特殊性的练习。特殊练习的介入,可以使初学者更快地、轻而易举地掌握写生基础。素描的特殊练习包括:提白法、单色水粉(或油画)训练法、陌生角度写生、负空间写生、仿雕塑写生等。这里介绍的切面练习是属于仿雕塑练习里的一个内容,是一种主要的、也是最有趣的特殊练习。切面练习主要针对初学者在画素描时,缺乏整体的观察,照搬调子,平面塑造这些致命的缺陷而设置的。他们在画素描写生时,往往注意表面的黑白,而忽视内在的结构,同时也不会进行色调概括。通过切面练习,能立竿见影地解决这些难题。现在把这一方法介绍给初学者。
33326 更新时间:2007-1-16
在练习之前,首先准备某个素描石膏并与其相对应的切面石膏像对照(比如:亚历山大半面像、贝多芬半面像都有其相应的切面像)。让学生分析这类石膏像的一些细小的局部体积的转折是如何概括为简单的直线切面的。当然最好还是让学生进行一下某一组对照石膏的写生。这样,当学生明白任何特点的面的转折都可以用直线切面去概括并初步掌握了切面的技巧以后,就可以对照人物模特或其他普通石膏像进行切面练习了。这种练习分两步进行。第一步,在正式切面写生练习之前,应尝试一下“基 调分割”的临制练习。这是一种很有意思的练习。“基调分割”临制,是对照一幅已完成的、按常规画法画的头像或石膏像进行基调的综合、分割的临制。这种练习有些像工艺美术中的色彩分割练习,还类似于黑白印刷的网目效果。这种练习是根据俄国伟大的画家列宾关于人物头部网格状结构特点而设置的。列宾指出:“人物头部的形体结构就是它的各个面的透视。也就是这些面的边界,在头颅上相结,从而组成整个头上的网。这就是形,头像素描的基础。”
我们知道,人的头部基本上倾向于一个立面体或球体,因而它的外表各个面基本上都可以概括成为方形的。这就是人头部的方形面结构特点。通过这种练习,可以达到两个目的:1.让学生深入了解头部外表各种面的边界,而这些边界往往是视觉看不见的。这些边界是头部结构的内在的框架。而头部一切的表面的形(头发和五官)都是服从这些框架的。2.让学生懂得“基调”的含义和学会使用“基调”去塑造形体的整体表现方法。“基调”是物体表面某一部分所呈现的调子倾向。在学习造型艺术过程中,必须学会观察出和表现出 “基调”的能力。“基调分割”临制的方法如下:工具:素描头像范围(可以用学生本人的,画的比较准确的素描头像来代用)、直尺、素描纸、铅笔、橡皮。
1.制格:在范画上用宜尺划上正方形网格,分别在水平线和垂线上注明坐标(图1)。.2.临制轮廓:在素描纸上按选好的构图范围用直尺划出与范画上相等数量的方格。分别在水平线和垂线上注明坐标。然后根据范画的形象轮廓线在方格里 的座标走向,临制到素描纸上相应方格内。最后进行整体轮廓线的调整,尽量做到基本形的准确(图2)。
3.填调子:把范画上每一个方格内的调子概括成一个基调,把这个基调平涂在素描纸相应的方格内。在填调子制作过程中,应注意以下几个问题:素描
纸上凡是所涉及到调子的方格,原则上都要平涂满色调。如果头像的外轮廓线占不满某一个方格。则根据所占方格内的比例,用横或竖的直线去分割,尽量不用斜线去分割。头部中比较小的细节(五官)所占的方格可以切割成两个调子(当然,能用一个调子填满一个方格更好)。
每一个方格内的“基调”注意相互比较,定出最暗的调子在哪个(或几个)方格内;最亮的调子在哪个方格内。在此基础上,严格把握整体调子的关系。最后,把制作完的“基调分割”作品放到远处与范画进行比较,做最后的调整。这样,一幅黑白调子切割的素描就完成了(图3)。当学生学会了用“基调”去概括丰富的层次的时候,就可以着手进行切面写生练习了。切面写生练习的方法步骤如下:切面写生练习的整个过程前半部分的方法与常规素描写生基本相同。只是在练习的后半期才在画面的形体色调基础上切割出各种方的面来。
1.用大的直线起稿:画出头部各部分的比例、结构转折关系。
2.塑造大的体积:画大的明暗色调。使形体比较完整(图4)。以上两步与常规画虽然大不相同,但要求更方、更硬一些。为下步切面分割打下基础。
3.切面:这一步与分割临制素描方法略同,只不过是现在所切的面不一定都是正方形的。在第2步的大的明暗关系基础上,根据每一个面的大体范围用较硬的铅笔用力画出面与面的直线分割边界,然后在每个已图画的界限范围内用这个面的基调平涂。
3.切更小的面:在大的切面范围内根据形体特点用直线分割更小的面的界线,再用调子加以区别。最后把画面放到远处观察,进行调整。从而达到更加完整效果。(图5)。
这种练习,要求学生在进行面与面的分割时一定全部采用直线形的棱。每一个切面内不允许存在两个调子,也不可有调子的渐变。为了表现出某个面向另一个面的过度,不能抹掉这些面的棱角,而是找出一些更小的带棱角面的划分。在整个作画过程中应不断的把作业放到远处与模特儿对照检查一下整体的形体效果。因为切面素描有在较远距离情况下才能使人感到比较真实的写实效果。
最后,经过适当的修改使画面中的形象最终达到与模特儿在基本形体和人物形象特征上保持一致。切面素描头像练习如果用单色水粉(或油画)颜料,可以起到事半功倍的效果。因为水粉(或油画)的笔触能模仿雕塑刀的效果。再加上大号的画笔使色调一次性定位。这与雕塑的一刀下去立见形体是一致的。这更有助于使学生完善他们的整体的作画步骤。
石膏像素描快速抓形训练法
作者:未知 教学来源:本站原创 点击数:
50219 更新时间:2006-12-25
素描石膏是美术初学者的必修课之一,而“抓形”在素描中具有举足轻重的作用,且难度不小,一直是美术教师教学中的一大难点。笔者经过多年的教程实践,摸索出一套训练学生快速抓形能力的教学方法。
初学者易犯的错误是“只见树木不见森林”,即我们常说的“专注细节,忽视整体”。对此,我一开始就特别注意培养学生的大局观,强调整体观念在作画中的重要作用。我从“大动态、大比例、大体积”入手,进行行之有效的观察训练。面对一尊石膏像,首先要求学生用语言描述其特征。开始吸引学生的是头部和五官,描述的语言自然以五官的表情之类居多,很少关注动态结构的。后来,我用细白布蒙住石膏像的头部,把学生的注意力引到石膏像的动态结构上来,再让他们进行描述,结果就大不一样了。接着引导学生分析石膏像的解剖结构,着重解析头、颈、胸等所构成的动态特点,启发他们用词语描述石膏动势,出现了“坚定”、“稳重”、“刚毅”、“霸气”、“力量”、“扭转”、“安详”、“动感”等等较准确的认识。随即我在画板上用长直线概括出石膏像大的形态特征,在黑板上写下“大动态”三个字,加深学生对这一过程的印象。接下来要求学生比较石膏像的头、颈、胸、底座等几大部分的比例大小和方位,这阶段千万不要提及五官等细节,以免他们过早的进入细节,导致前功尽弃。接着在画板上画出石膏像各个部分的平面形状,并特意进行比例、位置的修改,之后在黑板上写出“大比例”几个字。下面就让学生用基本几何体去概括石膏像的各大部分,分别请几个学生上台在我的画板上把几个平面的形画成基本几何体或立体形,我在一旁适当提示,辅助其达到要求,并要求其他学生在下面试着进行。随后把学生分成几个组,每组摆出不同的石膏像,要求组内成员相互合作,每人仿效刚才的步骤完成一张作业,最后每组各推选一张优秀作业进行展示,我对这几张作业非常满意,给予了鼓励性的表扬,并作了修改提示,特别对透视问题作了比较细致的讲解。这个方法非常有效,从此,学生就养成了正确的观察方法,抓大形也就不再头疼而因此变成了一件趣事。作为第一阶段,到此就可以结束了。
第二阶段,是在前阶段素描基础上进行的。要求学生再次观察所画石膏像,把各部分的形体进行再次的修改。这就要对基本形作一些切削,要能表现各形体的基本特征,也就是要再具体一些。我示范这一过程时,要求学生口述,我来充当他们的机械手,他们怎么说,我就怎么画,使课堂气氛活跃起来,他们的印象就更深刻。这一步很关键,用的时间也就更长一些。学生作品的时候要多鼓励,可以多给他们改一改,有些问题要集中讲解,并找出解决问题的办法。第三阶段当然是五官等细节的勾描了,这也是学生早就急于表现的地方。这时我就利用石膏像作道具,沿鼻梁中间画一条线,然后转动石膏像,让学生观察左右两边脸形的透视变化,再具体讲解人体的透视变化规律。要求学生在自己的画面上分别画出各部分的透视变化后的中线,会有很多学生画不准,这就要求教师反复提示、讲解、示范,并逐个检查、修改。更难的还在后头!在画有透视的对称形时,问题出现了,不是大了就是小了;不是近了就是远了!这时,复习以前学过的有关准备知识是非常必要的。比如,两眼间的距离是一个眼宽,眉线、眼线、鼻底线、嘴线的平行关系,对称的形要同时画等等。经过不太长的时间,这个问题会逐步得到改善,但仍要不断的提醒,并要进行个别辅导。这个阶段结束后,我用自制的多媒体课件,结合其它资料,把前面的过程进行过电影似的总结,以加深学生的理解。
对美术教师来说,因材施教显得特别重要,学生间的差别很大,对于不同的学生,往往要用不同的方法引导。由于暴露的问题千差万别,要根据不同的情况灵活处理,让学生少走弯路。我把“大动态、大比例、大体积、找中线、对称画”这条红线贯穿整个教学过程,辅以灵活多样的教学手段,取得了较好的教学效果。
把雕塑思维引入素描教学
作者:未知 教学来源:美学联盟 点击数:
在中学美术高考专业班的素描基础教学中,有一个问题应引起重视:由于学生在素描写生的时候,很容易被表现对象吸引, 陷入描摹对象的误区,养成了眼看、手画而不动脑的坏习惯。渐渐地至使很多学生只注重于素描的技能练习,而忽视素描的意识训练,结果学生对素描的本质认识肤浅,思维定势单一。由于素描写生是以客观对象为依据的,不少学生对物象形态结构的理解能力、辨析能力薄弱,必然造成学习效率低下。我们知道:素描写生是主体对客体的一种认识和表现的过程,在素描训练中如果认识能力得不到提高,表现能力也一定是低层次的。解决这一问题的方法,除了加强引导以外,更重要的是要有针对性地安排相应的教学内容,通过研究性的、分课题的练习,有意识地进行素描思维的训练,改造学生的不良习惯,建立正确的素描意识,从而达到提高素描的认识能力和表现能力的目的。
“ 认识指导行动 ” 这是人人皆知的哲理.学生对造型的认识能力提高了,才能透过形体的表象,深入到结构的实体中,抓住形象的本质要素,用造型语言表现出来。如何有效地对学生进行认识能力的训练,是素描教程面临的一个课题。认识能力是属于意识的范畴,它包括感悟能力、分析能力、理解能力,是潜在的思维活动,它不象表现能力那样具有直观的可教性。有人认为:“意识是无形的东西,看不见、摸不着,无法教”。意识虽不能直接教,但可以用感悟的方式,通过相关课题的练习,从不同的角度和层面启发学生、开悟学生。近年来我在素描教学中,不断地思考这一问题,并进行了一些课题实验,在本学年的素描教学中,我尝试 “ 把雕塑思维引入素描教学“。在实践中收到了很好的效果。这一课题从一个新的切入点,把素描教学引入了积极的理性思维,使学生触类旁通,以雕塑的思维方式,深入
4677 更新时间:2006-12-25
到结构内部,分析解剖结构,从认识上掌握造型的主动性,摆脱了以往用手画而不是用脑画的习惯,使教学质量和学习效率都有了很大的提高。
不同的过程 一样的目的
雕塑和素描都是以塑造客观物象为目的的造型艺术,素描是在二维的纸上塑造三维的形体,而雕塑是直接触及实体进行三维的形体塑造。两者对物象形态的认识途径也不一样,素描是由表及里地认识对象,雕塑是由内到外地认识对象,虽然途径不同,但两者的最终目的是一致的,都是为了把物象的形体结构表现出来。正是由于素描与雕塑的这一特性,让学生在素描训练中借用雕塑的思维与方法,有利于引导学生深入形体深处,理性分析形体结构,弄清楚形体解剖,从而建立结构观念,提高素描表现的主动性。
在进行这个课题实验之前,学生在素描写生时,普遍都不善于剖析对象,只是相信己的眼睛,眼看手画,注意力都被物象的表象和细节吸引住了,习惯把客观内容不加选择地罗列出来,似乎是很忠实地表现对象,但离远一看,画面的形体结构缺乏说服力,素描调子只是照抄了表面的浮光掠影,形体单薄,内容空泛,只获取了表面的肖似,没有得到素描的实质。这个问题的存在虽然有多方面的因素,但最根本的原因是作者没有对形体结构进行分析、研究,认识肤浅,表现被动。为了改变学生的这种状况,我在素描头像写生的训练中,进行了一次课改试验:“利用雕塑造型开悟学生”:我在画室的一角堆放了泥巴和雕塑工具,首先向学生阐明教学目的,介绍课程的意图,接着介绍雕塑的观察方法和塑造步骤,并进行示范,然后让学生在画素描人物头像的时候,抽一段时间接触泥塑,亲手用雕塑泥进行人物头像的塑造,在雕塑的过程中,学生通过多角度的观察,并通过 “ 搭骨架--→ 上大泥--→ 塑坯体--→ 捏五官”等环节,认识了立体观察、立体表现的重要性,学会了切削块面与塑造形体的方法,养成了追究解剖的习惯,再联系素描的形体塑造,领会了老师的教学意图,建立素描的本质意识。在这个过程中,学生很主动地用思维分析形体比例、研究解剖结构、塑造形体特征。尽管学生的雕塑作品做得并不专业,但在触及结构实体的过程中,培养了素描的理性思维, 培养了用脑的习惯。掌握了透过现象看本质的方法,训练了脑对手的控制意识,使素描训练产生了质的飞跃。
坯体意识与形体观念
在以往的素描头像写生作业中,学生经常出现画的五官 “ 形不附体 ” 的毛病。比如:人的鼻子和耳朵应该是附着在头部的不同朝向的,由于学生缺乏雕塑的坯体意识,不会先塑造头部坯体,后画五官,而是照抄对象,尽管把五官的形和明暗刻画出来了,但退远一看,五官还是附着在没有体积的头形上。采用雕塑思维开悟学生,使学生走出了这个误区。雕塑是先用泥巴堆出头部的坯体,然后才在相应的体面上塑造眼睛、鼻子和耳朵。把雕塑造型引入素描课堂以后,学生通过亲手用泥巴堆头形塑坯体、雕五官,当学生在泥塑的坯体上,雕刻五官的时候,他们才恍然大悟,明白了小结构与大转折的关系,从而牢固树立大体块意识。学生说:“我终于明白了结构起伏应该服从于形体转折”。
在素描训练中,自觉地理解物象的形态结构,才能强化对物象造型因素的感知能力,只有理解了物象的造型特征,才能更深刻地表现它。比如,有的学生以前画头像的时候,对头像的看不见的后脑部分,他是不去关心的,但通过雕塑的练习,学会从不同的角度去观察对象,他们才认识到:看不见的后半球体,理应与视觉中的前半球体构成完整的头部,素描的任务是要表现完整的体积空间。当主观意识到了以后,才会用心去体会形体边缘,并利用边缘的虚实处理来表现体积空间。常人的视觉经验仅仅是认识事物的初级阶段,看到的只是物象的表面因素,只有通过素描造型的训练,对形体结构进行深入的分析研究,才能准确地把握到物象的本质结构,才能进行主动的塑造。有位学生说: “ 以前画素描的时候,只是相信自己的眼睛,以为眼睛看到的,就是对象的全部,结果陷入了照抄对象的误区,现在才明白要相信自己的理解,只有在深入理解对象的基础上,才能在素描意识支配下,主动地去塑造对象。产生了从 “ 眼-→ 手 ” 的表现变成从“眼-→ 脑-→ 手”的表现的飞跃。
素描写生的过程,是眼、脑、手共同作用的过程,写生作品是一个复杂的精神活动的结果。如果只是眼看、手画,眼明人一看就知道,这种照抄对象的作品只得其外表,画面没有厚重感,是肤浅的、没有说服力的。素描写生必须用眼睛观察、心灵感受、头脑理解、手的表现,达到眼、脑、手的合一,才能深刻生动地表现对象。素描的感觉来自观察,判断来自理解,表现是观察理解的结果。这是环环相扣,相辅相承的过程。把雕塑思维引入素描教学,可以帮助学生加强理解,以理解来指导表现。
触摸感与说服力
我们在欣赏优秀的素描作品的时候,常常会被素描作品的说服力打动,叹服这些作品在平面的纸上竟然让人无可至凝地触及到形体的起伏转折,让人不得不佩服素描的表现力,从严格意义上来说,这是视觉生理的一种错觉,是素描的技术利用视觉元素游戏了人们的视觉的结果。一幅好的素描作品,绝对可以超越照片,把人的视觉带进表现物的体积空间中,这里的功夫,除了素描的认识能力以外还要依靠素描的表现能力。把雕塑思维引进素描教学,除了在素描意识上,能给我们启示以外,在素描的表现技术上,我们也能借助雕塑的触摸感,引发学生的表现技巧。
为了调动学生的表现欲望,在人物素描头像写生的教学中,我要求学生手里捧着一个石膏头骨,一边画头像一边触摸石膏头骨,一方面研究默记头骨解剖,另一方面利用手的触觉,体会人物头部的体积特征。利用对雕塑实体的触摸感,给人以体积的启示,产生体积塑造的欲望。通过这一形式,学生很快领悟到老师的意图,把手中的铅笔当作雕塑刀,用排线的方法切削出各个体面朝向,利用各种表现手法,不择手段地塑造人物头像的体积结构。由于学生心里有明确的素描表现意识,加上有比较充分的感受,所以普遍都能画出较有说服力的有触摸感的素描作品。学生说: “是触觉调动了我的感觉”。
素描写生与情感因素
素描基础教学在向学生传授素描规律与技术的同时,不能忽略人的情感因素。因为造型艺术是从客观存在的物象出发,建立在形象思维基础上的感性与理性相结合的产物。所以,面对同一对象每个人的感受是不一样的,如果长期片面地强调规律和技术,忽视审美追求,学生的审美情感和艺术感受就得不到发展。素描写生如果没有心灵的体验和情感的流露,是缺乏艺术的感染力的。我们在课堂上不难发现,有的学生把素描写生的步骤当成一种机械的程式,把写生当成事务性的工作,形态麻木,反应迟钝,封死了鲜活的感受。在这种状态下完成的作业一定是匠气的、呆板的。所以在素描的基础教学中,自始至终要重视审美教育,强调情感的参与。
视觉信息是激发视觉感受的来源,获取视觉信息不能机械地孤立地限定在固定的角度,完整的视觉形象来自全方位的观察,就像雕塑家那样,多角度去感受对象。在观察时介入心灵的体验,唤起表现的欲望和探索的好奇心。我们有不少学生习惯于找个位置马上就动笔画,不感受、不动情,而且一开始就机械地测比例,忽视了感受的重要作用。人的生理特性告诉我们:视觉在新鲜的感受状态下,是最容易兴奋的,兴奋时感觉最敏锐,素描写生要遵循: “ 感觉-----理解----感觉 ” 的程序。马蒂斯说:“我的作品是从认真而又尊重地观察自然中产生的,同样也是从自然在我身上激起的感情中产生的,而不是从某种熟练的技巧中产生的”。可见,素描写生只有发自内心的情感,才会引导出有感而发的真诚表现。
在素描教学中,我们既要重视对学生的认识能力和表现能力的培养,又要有意识地培养学生的审美情感。从其它艺术门类中吸收营养。在素描讲评课的时候,我会通过优秀的雕塑作品的活生生的情态去感染学生。比如:潘鹤的作品《艰苦岁月》,就是以生动的人物形象打动人,若作者没有情感的参与,他的作品绝对不会带给观众如此强烈的情感震撼。雕塑家很强调将客观物象进行情感的孕化和升华,然后对作品进行情态化处理,这样才能赋予作品于艺术生命。我强调学生在画素描头像的时候,要像雕塑家那样:“用心灵之眼去感受客观物象”。心灵之眼,能体悟到物之性格,物之情态,这就给视觉中的物象注入了生命。调动情感因素“移情予物”,使素描作品具有更强的艺术感染力。
实践证明:“把雕塑思维引入素描教学”,对训练学生的素描分析能力和表现能力,具有实质性的作用。学生通过雕塑意识来指导素描的形体塑造,可以使学生很快掌握对形体的本质研究的方法,建立正确的素描观念,能大大地提高素描的学习效率,是值得推广的素描教学方法。
怎样快速完成一张石膏头像素描作业?
所谓“快速”完成,是指用3个小时左右的时间完成的素描作业,这是针对素描考试进行的专题训练,冈为一般素描考试时间限制在3-4个小时。通常,我们进行一张石膏头像素描至少需要十几个小时。所以,要想快速地完成好素描作业,需要压缩作画的步骤和运用一些特殊的方法。
可以压缩和简化的方面有:
(1)压缩起草步骤。在起草阶段,不要等所有形状都起准再进行下一个步骤,只要对象大体比例准确,主要部分确定,便可马上转入铺涂明暗阶段,也就是将找形和涂明暗一起进行。起草的时间最好不要超过20分钟,而且越快越好。
(2)简化暗部变化,削弱暗部明暗对比,强调暗部整体形状特征。
(3)省略或减少背景的表现,用局部对比的办法,将石膏像的明部衬托出来即可。
(4)减少对次要部分的刻画,强调整体效果。
可以选择特殊处理的方法有:
(1)选择”色调表现法”或暗部用明暗法,亮部用“结构表现法”,因为明暗法较之结构法注重感受的作用,所以它的作画过程要短一些。
(2)使用重色铅笔,减少暗部涂色的次数。
(3)加强线的作用。在明暗对比强烈,结构转折明显的地方,例如轮廓、明暗交界线、头像底座等处用虚实不等的线来处理。
(4)始终眯着眼观察,做到从始至终的整体表现。
当然,无论使用什么办法,都要有造型的基础,只有熟练地按照正确的方法来画,少出现错误,少进行修改,才能做到画得更快、更好。
素描与速写
作者:佚名 教学来源:本站原创 点击数:
先是用眼睛看其大体形象、方向、和大至部位,再去分析、描绘,如画家所画素描和速写: 第一笔表示了方向、部位,連续第二笔或三笔而是加强立体感,面孔上下1/3,1/3,1/3,以鼻为基数左右以眼右基数1/5→5个1/5。大眼角到小眼角是第一位。如看后脑,也是五个等分。眼的平行线延长到后脑,中间要看耳的部位和方向,观察鼻、眼、嘴的斜度为原則!定上下,分左右、高低(太多写不完)如图、眼、鼻、嘴分析解释
48520 更新时间:2007-1-15
素描基本原素:“线条”和“明暗”.工具与材料:
<1>铅笔: B,笔心软而黑,最适合素描练习.H,笔心较硬,适于绘制精密的图.HB,通常写字所用.<2>钢笔,原子笔,签字笔: 较硬,线条坚硬有力,但不易修改.<3>蜡笔,粉彩笔: 软而粗,可表现柔和的线条与质感.<4>炭笔: 常用柳条烧成,有粗,細,硬,软,方,圆等.因木炭质w地松脆,使用方便,可达成浓淡粗细各种效果,擦拭容易,一般用馒头擦拭,亦有炭画专用橡皮.<5>毛笔:
<6>纸: 最常見的素描用纸是模造纸,但只要能表现出笔触的情趣,任何纸皆可.怎样画静态速写——慢写?
作者:佚名 教学来源:Mkao采集 点击数:
31003 更新时间:2007-1-8
慢写是由素描到速写的一个过渡阶段,也是一种应用素描。它是一种可以在较短时间内完整记录物体,具有使用价值的绘画形式。慢写所占用的时间视画者的熟练程度和对象的复杂程度而定,成熟的画家可以在1个小时内完成包括人体在内的复杂对象的慢写.凡是静态的物体都是慢写的对象。由于慢写侧重于应用价值,所以慢写最能体现不同绘画
专业的不同特点。例如,学习国画专业的慢写多使用“线描法”,油画专业的慢写多使用“线面结合法”、工艺专业的侧重结构,版画专业的侧重黑白。有的时候所画对象的特点,也决定你选择哪一种慢写方法。比如人物和复杂的物体使用线描法,简单物体和风景使用线面结合法。因此,每一个学习美术的人都应该熟练掌握这两种表现方法。
慢写的作画方式与素描基本相同,都要经过准备、起草、刻画、完成这几个过程,所不同的是,慢写的操作更直接、更简洁。慢写的起草要求快捷、简练,可以忽略对象的体面和光影。慢写的线条不一定非要用直线,可以用弧线和圆形直接表明物体的特征。要以对象的主要部位或部分为依据,先确定这一部分,再依此迅速画出其它部分。慢写起草更注重整体和结构,简化辅助线,往往采用大体块的对比关系,强调物体的组织和构成。
慢写的刻画阶段,不要求像素描那样整体同步进行,它可以直接从局部开始,一部分一部分地刻画完成。局部进行是对画者的一个考验,它特别要求初学者在进行这一阶段时,要有非常强的整体意识,否则会造成局部之间的孤立,甚至连形体也画不准。局部进行要求作画要准确果断,下笔要“绘之有物”,每一笔都要表现对象的特征和要点。这里的“准确”不一定是数学上的精确,慢写要的是感觉上的“准确”和“传神”。
慢写有两种表现形式:一种是“再现”性形式,另一种是“表现”性形式。再现性形式以客观观察为依据,忠实地再现慢写对象的形体特征,真实揭示对象的精神状态和脾气性格;表现性形式以画者的主观感受为依据,运用夸张和变形的手法,强调对象形体中的情感因素,强烈表现画者对对象的体验和评判。
第二篇:八年级切面圆柱体
八年级美术教案
明暗表现——切面圆柱体(4.1)
备课时间:
授课时间:
课时: 教学内容:(光影知识)切面圆柱体明暗的表现效果。
教学目的与要求:针对椭圆在不同位置透视的变化,引导学生去理解圆柱体透视的特征及切面的透视变化。认识切面圆柱体的变化及素描的明暗关系和表现效果。
教学重点:了解切面圆柱体的透视现象,使学生掌握圆柱体的透视画法。教学难点:切面圆柱几何形体绘画各阶段的具体要求。教学方法:讲授、观察、示范;
教学原则:直观性原则、实践性原则、审美性原则等; 教学准备:
1、写生物圆柱、球体、易拉罐(静物、聚光灯);
2、示范工具材料;
3、明暗素描范画及学生作业。
教学内容:
一、组织教学
检查学具,稳定情绪。
二、引入新课
复习圆柱体知识点并导入本科(板书课题)
三、讲授新课
1、分析圆柱体和切面圆柱体的特征出示石膏圆柱体和切面圆柱体模型,让生观察它的形体。圆柱体的两端是圆面,圆面的小大一样,圆柱体上下两端同等粗细,周边是与中轴等距的直线。切面圆柱体注意切面的透视切面是椭圆形(师出示插图讲解)
2、切面圆柱体的透视现象
椭圆有何特征
椭圆离我们近的弧度较大,面积也较大,离我们远的,弧主较小,面积也较 小。A.以圆形面的直径为长方形的 边长,画出方形的透视效果图。B.在平置的方形透视图内连对角线,再以对角线相交的中心点画横竖十 字线,找出四边的中心。C.与方形四边中点相切画圆形。
四、教师示范学生观察
五、学生实践,教师指导 要求:透视准确,关系突出
六、评讲作业,对优秀作业予以表 扬,指出存在的问题。
第三篇:第九册美术第十九课“线描人物头像”教案
一、教学目标:
让学生初步掌握人物头部比例,了解正面、正侧面、半侧面时的不同变化。学习用线描 的形式进行人物头部写生,培养学生的观察能力和概括能力。第九册美术第十九课“线描人物头像”教案
二、教学重点
了解人物头部大体比例,掌握线描写生的要领。
三、教学难点
如何让学生克服胆小、谨慎心理,较正确地把握比例,用流畅的线条勾画。
四、教学准备
1.利用课间10分钟进行上届学生人物头像写生作品展览。2.教具:幻灯机、灯片。
3.学具:练习用白纸数张、硬笔一支。
五、教学过程
(一)组织教学,引入新课:
同学们,刚才欣赏了很多画,谁来告诉老师,那些画主要画的是什么?都是用什么方法画出来的? 回答后小结:
对了。都是画的人物面部头像,是用单色的线条勾画出来的。(板书:线条)今天我们就来学习用线描的形式画人物头像。第九册美术第十九课“线描人物头像”教案(板书:线描人物头像)(二)讲授新课:
我们要把人物头像画好,首先得了解人物头部的比例,也就是眼睛、鼻子、嘴、耳朵等在头部所处的位置。
1.讲述正面头部比例的大体划分。(出示灯片,教师边量边讲)儿童的眼睛在整个头部长度的1/2以下;从头顶到眼睛的1/2处,是头发的下缘线;鼻 子的底线正好在眉毛到下颏的1/2处;嘴则在鼻子到下颏的1/2处。两边的耳朵是眼睛到鼻底线之间的位置。
再看脸的宽度,以眼睛为单位来量是五个眼睛的宽度。鼻子、嘴在脸宽度的1/2处,是脸的中心线,左右对称。同学们,两个同座的相互从正面看一看五官是不是在这些位置?第九册美术第十九课“线描人物头像”教案 小结:(略)2.引导观察正侧面和半侧面的五官比例变化。
当我们头部转动,在不同角度看到的各部分比例也就有些不同了。(请1名学生上台,引导观察)正侧面:眼、鼻、嘴上下比例位置不变。只看到脸部一半,耳朵在鼻子与后脑的大约 1/2处。
半侧面:眼、鼻、嘴上下比例位置仍不变,五官因头部转动产生缩形变化,鼻嘴不在脸的中间处了。
(三)演示、讲述写生步骤与方法:
(选一名特征明显的学生上台写生,教师边画边讲)1.整体观察:(板书)先认真观察所处角度头部比例与脸形的整体特征,在画纸上作整体安排,确定头部大小与位置。面部朝向的前方位置要多留点空白,如脸朝左时,左边多留点空白。2.落笔成形:(板书)(1)画脸形:
大胆果断地用长线勾画脸的轮廓线,不能用断断续续的线条画。运笔要慢、稳、准。保持线条流畅、肯定,不涂改。(板书:流畅、肯定)(2)画头发:
根据所画人物的发型,用长线勾画头发。(3)画五官:
3.概括取舍:(板书)主要抓住头部动势,细致刻画五官表现个性特征的部分。如:双眼皮、嘴唇形等。次要部分可少画或不画。如:小雀斑、衣服花纹等。(四)学生写生练习:
1.看书欣赏,了解作业要求。
2.同座的两个同学为一组,先后相互画对方。3.时间各画8分钟。
第四篇:文字头像
M##B###MMMMMMMMMMMMMM######@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@###BHHHAA2ssssssssssssrsssssssr
MMMAMMMMBHBMBBBHBBBMM#M##@@####@@#@@@#####@######@@@@@@@@@@@@@@@@@@@@@@@@@#######BA&G&s;r;;r;;;;;;r;;;r;;;r;
B##A##MMMBMMBMMBMM###@@@@@##@@@@@@@@###@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##MAssissssssssssssssrrssr
MM#H###MMBBMBMMHBBBM#@@@###@@@@@@##@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M2sssssssssssrsrrssrssr
MM#H###MMMMMMBBHHHM#@@####@@@@@##@@@@@@##@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@M3srrsssssssrrrrsrrssr
MM#H##MM#MM###MBM#@#@##@@@@@@@#@@@@@@@###@@#@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Airrrrrrrrrrrrrrrrrr
###AM###MMM#MMMM#@@@#@@@@@@@@@@@@@##@@#@@@@@@##@#M###M###M#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@9isrrrrrrrrr;;;;;;
@@@##@@###M##M##@@@@@@@@@@@#@@@@##@@@#@@######@##@@###@#M###M####@@@@@@##@@@@@@@@@@@@@@@@@@@#MBBHHHHA&Gh93hS
@@@@@@####B###@@@#@@#@@@@@##@@@##@@@@#@@@@@##@@@@##########H9AHHM#@@####@@@@@@@@@@@@@@@@@@@@#MMHHA&&GG&AHBH9
@#@##M####M#@@@@@@@@@@@@@#@@@@M#@@##@@@@##@@@@@#######@##@#HBMA&BAA###@#@@@@@@@@@@#@@@#@@@@@#MHAAAAAGhh9GG99
#B#########@@@@@@@@@@@@@@@@@@##@@#@######@@@####M#B##@@#@@@@@@MAAXA@##@#@@@@@@@#@@####@@###@@MHAAAHHBHA&AAhh
#B########@@@@@@##@@@@@#@@#@#@###########@@######MB#@@#@@#####hG@HG@#B###@@@@@@@@@############MHAABAAABHBMB&
#M#######@@@@@@@#@@@@@###@#M#####MMMMM#####MMHM##M##B###HB####M#@#B##M########@@##@############MAAAA&AAAA&AG
#M#########@@##@@##@@@##@@#######A&HH##MM#MAGAMMB#A2H#3rX&39M23##M#HBBAM######################MMAAA&AAA&AA&h
#B####M#MH#@###@@#@####@####@#MBHBBHABBBMM32GHMBBH2S#A:shS;:X;S3AG#XG#GX##############M#######BAA9AAA&&&AA&9
#M#####HAB#####@@@@###@#H##@###H#MAAhAHHBA;S&HAABA;2#3SSi;.,5rXX39#r3G2rH#####M##############MMMH&&AAA&&A&&G
#M####MHHM#MM###@@####@M##@##MBBMGAHhAAHH2rhAGAAH&rAA2rrr.:2SSXSGMi9ir2&ABM##HM#MH####B##MMMMMMHAHH&AAAAAAG
#M####MHM###@###@#MMB#@###MHABB#BGAB&AhAHssGhX&AHA2&Ar:s,:Xri5r9Ari:;Sh9&HBMBHMMMMM##H##MBBHMH&&BAAA&AAAAG
#M####M####@@@#@#######BAH3XHMMB&AGA&GGAAir92i2GHh3Hi:r:.i;si;hHiS:;rsS9hhABH9M#MAB#B#@#BMAHHA9AHAAAAA&A&
#M######M###@@@##@@###MHM3ShH&&h&AhGX3hGGri53si2H9Xh;;:,;;;r;hhSr.;;,s3G52AA33#H5hMHM#MBBA&MHh&MA&&AAGA&
#M####HHB###@@###@##BBM##92h39X3GG22i2hG3rsi25S;i3X2;:..;;,;rG5r;.,,5rSiS2S2i#Ai2B&H#MBBH&HA32AHA&&&G&G
#M####MHM##@@#@####BAMH#M39X2h&A&G35i5A9GXs;;SS;r355s.,::,;;Xs:;,,:S;s;ssrS5#Gr2GhhBBHBHAAAh3H#&&A&hh9
#M####BHB#######MHMBAA&AAh3&AGh9hhX22r3&G9;:,srrrri&i..;;.:;r5r,r,,;r;;rr:rihHSsiXAGAAAHA&Ah3G&@BHHAAAG
#M####BM###BB##MAAAHHBHH&HHM&AAGG5sr;:sG&2,:.;s;;;hHr,.,;:.:iX;:,;..,;:,:r;,rrG3r;iXG&GA&&BBAh9Ah@@MHHBMA
#MMMM#####BM@@MAAABBMMHBM#BGAHG2;,,:,:Sh2::..i,.;M#ri:..,;,.,XX,.:.,:,:;;,riAi:rs2332hM9H#GG&AB#@MAHHHA
####MMM###@@@@@######HAM#MBMA5r,.,.,:.;r5Xr;,.:;.AB2si;, ,::hr,..:...,sr:,:;rhr:5i2sSiX#AABAGGB@MHAHHA
####B#M@@As::riA@@#HBAAAAMBhr;,,:,,;;;92;,.;::5H;r:;, ,..:5,.:,...,;s:::::r9;ssSsrsr2#HGHHAAA@B##HAAHA
#####HM@2...,:,;2##MGAAMMAr::,:::,,:,;3;.,;rSriAA33srir:,..r.:.;....,r;,;:,S5;s;i;rrs9#HAAAMAB@#A#HAHHA
#####A#A..:;:.::.,A@#BAHAHr,:::,::,,.,ss:;29GA9hH92ABMMH2r;;.,.:...,::.,.,.9r::;;:;riX##BGBMB#@@MBHHHHA
####BH@2.:rr..:.5#AABM@@2;,,,:,.::,:::rXh2sir:;;:,:;;iirrs;.......,......ri..:;,;;rs3@@AHHM#@@@@#BAHHA
####MM@3.:i;.,:.;h&GXXA@@Ahr,,.,..::;:,..,...,....,,rr,......,.:r,..::;ssssA#M#BH#@@@@###MMBH
####MB@#.:i:.::;r;,:i9Ah322;;A@@Ar,......,:,...,:,,.,..:,..........r:;iSSX93A#3A#@#BM##@@@@@@@@@#
####H#@@::r.:rr;:s;;rhHhh&3:..r&@@HS,.,,.......,:,,,................:ir2AM@@@@#@@#@##MB##@@######@#
###MB@H@r::,;:,.:rr;rHA&hAr,..;G@@#s:,:;;;rrsiirr;::,,......,:s5r;rr5B@@@@@@##MM##@##########
#M#BBMB@X:;,;:..,;,.3&hHSs:,,...:X@@@5;rSS2AhABAMHAGXSr;:,..........,:;rr;::,..;9#@@###M##############
#HM#M#@@#,r:,;:, r2i22r;::::,,.,XM#@&,:srX#&@B,r9XSisr;,...,;;;;;:,,,.,:iH#@#################
BHM###@@@r:r:r;rss.,:;rr;;:::::::,....s.,..,r2;,;;is::.:;;r.;r;:,.,;;:;;;;;sSA@@#################
###@##@@@&,;ir..ri.:,:;;;::::::::,.....,.,rrr;:,.iXi22:.;53X@@9B#&SX3iBM#@################
##@@@@@@@@,;:...,:;:;r;;::::::::,,.....,:::::,...shr:;s5HM@@9SG##G:;XBMG29AA&B@##MBBMMMMM#####
@#@@@@@@@@: ,;;;:,:r;rrr;:::::::::,.......:Ms,;,.M@,;;:;riG5h@Ahis5MBAAA&A&GGAAAHH
@@@@@@@@@@@:....;i;rrr;;:::;;:,.....,.:,25.,,::,;ri9&hAhr;@#HHHHHHAAAAAAA
###@@@#@@@@@hi;;;r2i;rr;;;:::;;:,......:;,;...,:::::::s&H&G3:S@HAAAAAHBHAHHHA
#MM#@@#HA#@@AGXSs;;ir;r;;::::;:::,......:r;,:,.,,:,;iHH9r.:@MBMMBHHHHHAAA&&
#M@@M&AAA&H@Xsr;;,;5rrr;;::::;:::,,.........:sr,,,,..,:;X#A2.:@@BHBBBHHBBBBBBBA
##M&hXGGAAh#A;;;;:;5rrr;;;:::::::,,...........,::::,.........,si,....,:,::;;i99@@@##BAHHHBHBHBHHA
#A299hG&AA&B#i;;r;;Srrr;;;:::::::,.,,...........,:::;;,,,........,;s........::,:#@@@@@@@@#BHHHBBHHHHHA
#39A&AAAhG&A@B;:;rr2irr;;;:::::,:,,.,..........,;:.,r:.......;S,.......,::X@@@####@@@#MBBMMMMMBMH
MhAHAAA&A&GAB@3,;i2ir;;:::::::,,,...........,:;,.,:..:5r....,,:;i@@#######BAGhhhG&&&AAAA
M9AAAA&&&AAHBM@S.,iXirr;;:::::,,,,,.......,:,....,:;r;;;:,...r5s....,:;i@@@@@@@@@@#BHBHHBBHA&G&&
#&hhGABHHAGhAA#@;;GSsr;::;;::,,,,,......,,......,....,..;;rrrrrrSsr,...,::;i@@@@@@@@@@@#@@@@@@@@#@#@M
@HX9AHAHHHAGGGA@#,2Xsr;;::::::,,..,......,,.....,;;;ri2Xi;..,...,:;S@@#@@@@@########@#@@@@@@@#
@#9&&AAAHHBHA&AA@h :h5sr;;:::::,,.........,.......,;;:,:;;rrr:,,.,;ri#@@#@@@@#M#M###############
#@HhAB#BHHABAAAA#@S
rhSr;;:;;::,,...........,:;,.....:r,:;ss:,,,:rs&@@#M@@@@####MMMMMMMMMMM#MMM
#@#hhABHHHAAH&hGA#@s
shSr;::::::,,,........,:;2G2r;rsr::;r;;;:,:;;r5s,:;::;r2@@###@@@#####MM#M#MMMMMM#MMM
#@@Mh3BAHB&hA&AH#@;
r&2r;;:;:::,,........,:;:;223XXr:,;r2X23AB92i:,;;;;ri@@#MM#@######M###M##M##MMM##M
##@@Hh&HHBMBAGG9&&A#@;;Ahir;;;:::,,.....,,,.,;;rrrssrSirsssGA2;..:;;rr2@@@#MM#@#####MMM###MMM##MMMMMM
###@@H&AHHHHHAG&G99&@#;:3A2s;;;;::,,.,.........,,:;;rr;;;rri5r,.::;rrA@@@@MMM#####MM###M####M##MMMMMM
#M####AAH&HBMMGG&G&hH@@r ,iGh2sr;;::,,,.,........,::::::::::;rSir::;rr2@@@@@@MBB##################M####M
BB###@#B#MHBMMHGGGAAGA@@r ,r29G3ir;::,,..,..........,:;;;;;;;rrr;::;r5M@@@@@@#MBB#######################M
##@M&H#MHM#BMHHH&Ah9GAB@@r ,;i59&G5r;:,.........,::::::::::::;r&@@@@#@#@#MAB#M#####################M
@@@#HAHBAHMHAHBH&&A3Gh9A@@2..;rs59A&5;::,......,,:,,,::;;;H@@@#######HAB#M#MM#MMMM####M######M#M
M#@#MAA#BAHHAA&BHA&9G39AA@@3..:;rsShHAi;:,...........,,,,..,::;;A@@########BAAM#MHBBBBHHHHBBBHHBMBBMMBM
BA#M#Ah##AA&BAAHAAAh&AGX&MM#A:,::;rs5GBGs:,..........,,,,,:;;h@@#######BBHAHBMBBHHHHBBBBBBBBBBBHHBHHB
###M##3H@#HAMBHAHHBh&A&hXGA@@A;:::;rrri9Hhr,.........,,,:;:,:;G@@######MBHHHAAHAHBHBBBBBMMBHHHHHHHBBBBH
HA####BX#@BBHBABH&AGX23G29hHM@M;:;;;;;rrsXAX;,,........,,,:::rA@@#M###MBBBBBHHABMBHBMHBHHBBBBBBBBHBBHHBH
#HH#@@@hG@@HAHA&HAHMA33&GhA&A#@#r;rsssssr;;5AS:,,,..,:,,:,:r#@@@#MMMMBHHBMBBHHBMBHBBHHBBBBBHHHHBHHHHBBH
@@@##@@HSM@BAAGBHBAHH&AHh9H9G#M@#irS22255ir;rB@&s:::,,:::,,;&@@@@######MHHBBBBHHBHBBMBHBBHHHHHBHHHHHHHBMH
##@#@@@@hX@@HHHA&A&BA&&hh&h9ABHBMMX2X223AM@#@@@@@@@Bh25isrri9@@@@@#M########MHHBBHHBMBHHHHHBBHHHHHBBAHBHHAAA
@######@@A9@#BHAABHGHHG&9&hAhhAA###@@@@@@@@@@###@@@@@@@@@@@@@@@@#########@@@@#HAAHHBBHAAHHHBHHHHHBBHAAAHHHHA
########@@9B@MHHABHAAAAAX&G9AGBGGH#B#@@@@@@@@BBBAMBM#B#B&@@@@@#HM##M#########@@#HHAHHHBAHAHHHBBHAHHAAHHHAHMH
####M##@@@#A@@HAAGAhA&HAhHG&AAGAHHAGhM@@@MH@@@#AHHHHBBAh5XH&H##B###M@######@M#@@@#HABHHAHHHAAHHAAHAAAAAAAAAA
###M#M###@@@#@#HH&AhG&9&AAA9h&GAAGA&H9B@MX9@@@@#AHAHHAA&&5AMHM@#B#M#@BM####@M9B@@@#BHH&AHAAAAAAAAAAAHHAAAAAA
##M#####@@##@#@MBHHAHAAA&h&&A&G&3GAA&&3A#A3#@@@@@MAHGAB&GhGMBM#@###@@A##MB#@#rrM@@@###MAAAHHHHHAAAHHAAAHHHAA
#MM######@@##@@#AMHAHHHAA&GhG&h3&AGAAA&XGG9M@#@@@@#AHHBA@@@#MM#@#M#@HA@#MB#@@rS9M@##@@@@#AAAHAHBAHAAHMMMMM#A
######M#########MAAAAAAA&G&hh&&&G&GGA&&&GGhA@##@@@#MM##XS###MMM#####3B#MHB###A9MG#########MHAAAAAAA&AhX22XX2
................................................Photo2Text.com
CopyRight@photo2text.com
[You are not allowed to remove the copyright text]
第五篇:学习面向切面编程的总结
北大青鸟中关村
AOP(面向切面编程)
可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,在OOP设计中,它导致了大量代码的重复,而不利于
各个模块的重用。
而AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系,如果说“对象”是一个空心的圆柱体,其中封装的是对象的属性和行为;那么面向方面编程的方法,就仿佛一把利刃,将这些空心圆柱体剖开,以获得其内部的消息。而剖开的切面,也就是所谓的“方面”了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹。
使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。
北大青鸟中关村
比如权限认证、日志、事务处理。Aop的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案构架师Adam Magee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”
实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。然而殊途同归,实现AOP的技术特性却是相同的,分别为:
1、join point(连接点):是程序执行中的一个精确执行点,例如类中的一个方法。它是一个抽象的概念,在实现AOP时,并不需要去定义一个join point。
2、point cut(切入点):本质上是一个捕获连接点的结构。在AOP中,可以定义一个point cut,来捕获相关方法的调用。
3、advice(通知):是point cut的执行代码,是执行“方面”的具体逻辑。
4、aspect(方面):point cut和advice结合起来就是aspect,它类似于OOP中定义的一个类,但它代表的更多是对象间横向的关系。
5、introduce(引入):为对象引入附加的方法或属性,从而达到修改对象结构的目的。有的AOP工具又将其称为mixin。
上述的技术特性组成了基本的AOP技术,大多数AOP工具均实现了这些技术。它们也可以是研究AOP技术的基本术语。2.2.2 横切技术
北大青鸟中关村
“横切”是AOP的专有名词。它是一种蕴含强大力量的相对简单的设计和编程技术,尤其是用于建立松散耦合的、可扩展的企业系统时。横切技术可以使得AOP在一个给定的编程模型中穿越既定的职责部分(比如日志记录和性能优化)的操作。
如果不使用横切技术,软件开发是怎样的情形呢?在传统的程序中,由于横切行为的实现是分散的,开发人员很难对这些行为进行逻辑上的实现或更改。例如,用于日志记录的代码和主要用于其它职责的代码缠绕在一起。根据所解决的问题的复杂程度和作用域的不同,所引起的混乱可大可小。更改一个应用程序的日志记录策略可能涉及数百次编辑——即使可行,这也是个令人头疼的任务。
在AOP中,我们将这些具有公共逻辑的,与其他模块的核心逻辑纠缠在一起的行为称为“横切关注点(Crosscutting Concern)”,因为它跨越了给定编程模型中的典型职责界限。2.2.2.1 横切关注点
一个关注点(concern)就是一个特定的目的,一块我们感兴趣的区域,一段我们需要的逻辑行为。从技术的角度来说,一个典型的软件系统包含一些核心的关注点和系统级的关注点。举个例子来说,一个信用卡处理系统的核心关注点是借贷/存入处理,而系统级的关注点则是日志、事务完整性、授权、安全及性能问题等,许多关注点——即横切关注点(crosscutting concerns)——会在多个模块中出现。如果使用现有的编程方法,横切关注点会横越多个模块,结果是使系统难以设计、理解、实现和演进。AOP能够比上述方法更好地分离系统关注点,从而提供模块化的横切关注点。
北大青鸟中关村
例如一个复杂的系统,它由许多关注点组合实现,如业务逻辑、性能,数据存储、日志和调度信息、授权、安全、线程、错误检查等,还有开发过程中的关注点,如易懂、易维护、易追查、易扩展等,图2.1演示了由不同模块实现的一批关注点组成一个系统。
图2.1 把模块作为一批关注点来实现
通过对系统需求和实现的识别,我们可以将模块中的这些关注点分为:核心关注点和横切关注点。对于核心关注点而言,通常来说,实现这些关注点的模块是相互独立的,他们分别完成了系统需要的商业逻辑,这些逻辑与具体的业务需求有关。而对于日志、安全、持久化等关注点而言,他们却是商业逻辑模块所共同需要的,这些逻辑分布于核心关注点的各处。在AOP中,诸如这些模块,都称为横切关注点。应用AOP的横切技术,关键就是要实现对关注点的识别。
北大青鸟中关村
如果将整个模块比喻为一个圆柱体,那么关注点识别过程可以用三棱镜法则来形容,穿越三棱镜的光束(指需求),照射到圆柱体各处,获得不同颜色的光束,最后识别出不同的关注点。如图2.2所示:
图2.2 关注点识别:三棱镜法则
上图识别出来的关注点中,Business Logic属于核心关注点,它会调用到Security,Logging,Persistence等横切关注点。public class BusinessLogic { public void SomeOperation(){ //验证安全性;Securtity关注点;
//执行前记录日志;Logging关注点;
DoSomething();//保存逻辑运算后的数据;Persistence关注点;
//执行结束记录日志;Logging关注点;
} }
北大青鸟中关村
AOP的目的,就是要将诸如Logging之类的横切关注点从BusinessLogic类中分离出来。利用AOP技术,可以对相关的横切关注点封装,形成单独的“aspect”。这就保证了横切关注点的复用。由于BusinessLogic类中不再包含横切关注点的逻辑代码,为达到调用横切关注点的目的,可以利用横切技术,截取BusinessLogic类中相关方法的消息,例如SomeOperation()方法,然后将这些“aspect”织入到该方法中。例如图2.3:
图2.3 将横切关注点织入到核心关注点中
通过利用AOP技术,改变了整个系统的设计方式。在分析系统需求之初,利用AOP的思想,分离出核心关注点和横切关注点。在实现了诸如日志、事务管理、权限控制等横切关注点的通用逻辑后,开发人员就可以专注于核心关注点,将精力投入到解决企业的商业逻辑上来。同时,这些封装好了的横切关注点提供的功能,可以最大限度地复用于商业逻辑的各个部分,既不需要开发人员作特殊的编码,也不会因为修改横切关注点的功能而影响具体的业务功能。为了建立松散耦合的、可扩展的企业系统,AOP应用到的横切技术,通常分为两种类型:动态横切和静态横切。2.2.2.2 动态横切
北大青鸟中关村
动态横切是通过切入点和连接点在一个方面中创建行为的过程,连接点可以在执行时横向地应用于现有对象。动态横切通常用于帮助向对象层次中的各种方法添加日志记录或身份认证。在很多应用场景中,动态横切技术基本上代表了AOP。
动态横切技术的核心主要包括join point(连接点),point cut(切入点),advice(通知)和aspect(方面)。在前面,我已经概要地介绍了这些术语分别代表的含义。接下来,我将以一个具体的实例来进一步阐述它们在AOP动态横切中实现的意义。
考虑一个电子商务系统,需要对订单进行添加、删除等管理操作。毫无疑问,在实际的应用场景中,这些行为应与权限管理结合,只有获得授权的用户方能够实施这些行为。采用传统的设计方法,其伪代码如下: public class OrderManager { private ArrayListm_Orders;public OrderManager(){ m_Orders = new ArrayList();} public void AddOrder(Order order){ if(permissions.Verify(Permission.ADMIN)){
北大青鸟中关村
m_Orders.Add(order);} } public void RemoveOrder(Order order){ if(permissions.Verify(Permission.ADMIN)){ m_Orders.Remove(order);} } } 同样的,在该电子商务系统中,还需要对商品进行管理,它采用了同样的授权机制:
public class ProductManager { private ArrayListm_Products;public ProductManager(){ m_Products = new ArrayList();} public void AddProduct(Product product){ if(permissions.Verify(Permission.ADMIN))
北大青鸟中关村
{ m_Products.Add(product);} } public void RemoveProduct(Product product){ if(permissions.Verify(Permission.ADMIN)){ m_Products.Remove(product);} } } 如此以来,在整个电子商务系统中,核心业务包括订单管理和商品管理,它们都需要相同的权限管理,如图2.4所示:
图2.4 电子商务系统的权限验证实现
毫无疑问,利用AOP技术,我们可以分离出系统的核心关注点和横切关注点,从横向的角度,截取业务管理行为的内部消息,以达到织入权限管理逻辑的目
北大青鸟中关村 的。当执行AddOrder()等方法时,系统将验证用户的权限,调用横切关注点逻辑,因此该方法即为AOP的join point。对于电子商务系统而言,每个需要权限验证的方法都是一个单独的join point。由于权限验证将在每个方法执行前执行,所以对于这一系列join point,只需要定义一个point cut。当系统执行到join point处时,将根据定义去查找对应的point cut,然后执行这个横切关注点需要实现的逻辑,即advice。而point cut和advice,就组合成了一个权限管理aspect。
图2.5 AOP动态横切的技术实现
由于aspect是一个封装的对象,我们可以定义这样一个aspect: private static aspect AuthorizationAspect{……}
然后在这个aspect中定义point cut,在point cut中,定义了需要截取上下文消息的方法,例如:
private pointcutauthorizationExecution(): execution(public void OrderManager.AddOrder(Order))||
北大青鸟中关村
execution(public void OrderManager.DeleteOrder(Order))|| execution(public void ProductManager.AddProduct(Product))|| execution(public void ProductManager.DeleteProduct(Product));由于权限验证是在订单管理方法执行之前完成,因此在before advice中,定义权限检查:
before(): authorizationExecution(){ if!(permissions.Verify(Permission.ADMIN)){ throw new UnauthorizedException();} } 通过定义了这样一个完整的aspect,当系统调用OrderManager或ProductManager的相关方法时,就触发了point cut,然后调用相应的advice逻辑。如此以来,OrderManager和ProductManager模块就与权限管理模块完全解除了依赖关系,同时也消除了传统设计中不可避免的权限判断的重复代码。这对于建立一个松散耦合、可扩展的系统软件是非常有利的。2.2.2.3 静态横切
静态横切和动态横切的区别在于它不修改一个给定对象的执行行为。相反,它允许通过引入附加的方法字段和属性来修改对象的结构。此外,静态横切可以把扩展和实现附加到对象的基本结构中。在AOP实现中,通常将静态横切称为introduce或者mixin。
北大青鸟中关村
静态横切在AOP技术中,受到的关注相对较少。事实上,这一技术蕴含的潜力是巨大的。使用静态横切,架构师和设计者能用一种真正面向对象的方法有效地建立复杂系统的模型。静态横切允许您不用创建很深的层次结构,以一种本质上更优雅、更逼真于现实结构的方式,插入跨越整个系统的公共行为。尤其是当开发应用系统时,如果需要在不修改原有代码的前提下,引入第三方产品和API库,则静态横切技术将发挥巨大的作用。
举例来说,当前已经实现了一个邮件收发系统,其中类Mail完成了收发邮件的功能。但在产品交付后,发现该系统存在缺陷,在收发邮件时,未曾实现邮件地址的验证功能。现在,第三方产品已经提供了验证功能的接口IValidatable: public interface IValidatable { boolValidateAddress();} 我们可以利用设计模式中的Adapter模式,来完成对第三方产品API的调用。我们可以定义一个新的类MailAdapter,该类实现了IValidatable接口,同时继承了Mail类:
public class MailAdapter:Mail,IValidatable { public boolValidateAddress(){ if(this.getToAddress()!= null){ return true;
北大青鸟中关村
} else { return false;} } } 通过引入MailAdapter类,原来Mail对象完成的操作,将全部被MailAdapter对象取代。然而,此种实现方式虽然能解决引入新接口的问题,但类似下面的代码,却是无法编译通过的: Mail mail = new Mail();IValidatable validate =((IValidatable)mail).ValidateAddress();必须将第一行代码作如下修改: Mail mail = new MailAdapter();利用AOP的静态横切技术,可以将IValidatable接口织入到原有的Mail类中,这是一种非常形象的introduce功能,其实现仍然是在aspect中完成: importcom.acme.validate.Validatable;public aspect MailValidateAspect { declare parents: Mail implements IValidatable;
北大青鸟中关村
publicbooleanMail.validateAddress(){ if(this.getToAddress()!= null){ return true;} else { return false;} } } 静态横切的方法,并没有引入类似MailAdapter的新类,而是通过定义的MailValidateAspect方面,利用横切技术为Mail类introduce了新的方法ValidateAddress(),从而实现了Mail的扩展。因此如下的代码完全可行。Mail mail = new Mail();IValidatable validate =((IValidatable)mail).ValidateAddress();2.3 AOP技术的优势
AOP技术的优势是显而易见的。在面向对象的世界里,人们提出了各种方法和设计原则来保障系统的可复用性与可扩展性,以期建立一个松散耦合、便于扩展的软件系统。例如GOF提出的“设计模式”,为我们提供了设计的典范与准则。设计模式通过最大程度的利用面向对象的特性,诸如利用继承、多态,对责任
北大青鸟中关村
进行分离、对依赖进行倒置,面向抽象,面向接口,最终设计出灵活、可扩展、可重用的类库、组件,乃至于整个系统的架构。在设计的过程中,通过各种模式体现对象的行为、暴露的接口、对象间关系、以及对象分别在不同层次中表现出来的形态。然而鉴于对象封装的特殊性,“设计模式”的触角始终在接口与抽象中大做文章,而对于对象内部则无能为力。
通过“横切”技术,AOP技术就能深入到对象内部翻云覆雨,截取方法之间传递的消息为我所用。由于将核心关注点与横切关注点完全隔离,使得我们能够独立的对“方面”编程。它允许开发者动态地修改静态的OO模型,构造出一个能够不断增长以满足新增需求的系统,就象现实世界中的对象会在其生命周期中不断改变自身,应用程序也可以在发展中拥有新的功能。设计软件系统时应用AOP技术,其优势在于:
(一)在定义应用程序对某种服务(例如日志)的所有需求的时候。通过识别关注点,使得该服务能够被更好的定义,更好的被编写代码,并获得更多的功能。这种方式还能够处理在代码涉及到多个功能的时候所出现的问题,例如改变某一个功能可能会影响到其它的功能,在AOP中把这样的麻烦称之为“纠结(tangling)”。
(二)利用AOP技术对离散的方面进行的分析将有助于为开发团队指定一位精于该项工作的专家。负责这项工作的最佳人选将可以有效利用自己的相关技能和经验。
(三)持久性。标准的面向对象的项目开发中,不同的开发人员通常会为某项服务编写相同的代码,例如日志记录。随后他们会在自己的实施中分别对日志
北大青鸟中关村
进行处理以满足不同单个对象的需求。而通过创建一段单独的代码片段,AOP提供了解决这一问题的持久简单的方案,这一方案强调了未来功能的重用性和易维护性:不需要在整个应用程序中一遍遍重新编写日志代码,AOP使得仅仅编写日志方面(logging aspect)成为可能,并且可以在这之上为整个应用程序提供新的功能。
总而言之,AOP技术的优势使得需要编写的代码量大大缩减,节省了时间,控制了开发成本。同时也使得开发人员可以集中关注于系统的核心商业逻辑。此外,它更利于创建松散耦合、可复用与可扩展的大型软件系统。