第一篇:读《水浒》后记九:太公们与年轻一代
《水浒传》读后让笔者哭的死去活来的问题九:太公们与年轻一代
《水浒传》中写了不少太公。
太公们生长于楔子中所说的三登之世,那个时候社会秩序安定,人民生活富足,因而大多属于盛世之民。他们知书明理,安土重迁,对人有同情心。
史家庄的史太公是书中出现的第一个太公。东京八十万禁军教头王进因为不堪高俅的迫害,带着老母亲逃奔边关,途经史家村。当时天色已晚,王进母子错过了住宿旅店的机会,来到史家村求宿。王进怀着忐忑不安的心情求助,并表示愿意缴纳住宿费。史太公马上说:“不妨。如今世上人,哪个顶着房子走哩?”接着,史太公让庄客准备住处,同时安排酒食招待王进母子,还让庄客把王进母亲骑的驴子牵到后槽喂养。第二天一大早,史太公得知王进母亲夜里心绞痛发作疼痛难忍时,马上说:“客人休要烦恼,教你老母且在老夫庄上住几日,我有个医心疼的方,叫庄客去县里撮药来与你老母亲吃,叫他慢慢地将息。”此后,王进母子一直在史家庄又吃又住了很多天。最后,王进过意不去,把一身好武艺传给了史太公的儿子九纹龙史进。从史太公招待王进母子的故事中,我们可以看出,虽然其时上层社会已经腐朽,人与人之间充满了猜忌和提防,但在远离大都市的乡土社会还是古风犹存的,史太公对王进母子无微不至的关怀,正是民间寻常百姓人性淳厚的一种体现。
宋江的父亲宋太公也是书中着墨较多的一位太公。与史太公相比,宋太公似乎更为人情练达。宋江“自幼曾攻经史”,大概年轻时也想走科举之路,后来此路不通才做了吏。北宋时期,吏的日子很难过,稍有不慎,被上级找个茬子就会刺配远恶军州,有时还会连累家人。所以,宋江一到县衙为吏,宋太公就告了他忤逆,然后脱离父子关系,以备不测。实践证明,宋太公确有远见。
宋江杀惜后,藏在自家地窖里。宋太公却拿着当初和宋江脱离父子关系的文书为全家人开脱了关系。当朱仝、雷横带着公人们来宋家搜查时,宋江安排酒饭招待,同时又送了二十两银子给众人。随后,宋太公安排宋江逃亡,并且让宋清一路陪同。分手时,宋太公挥泪不住,尽显慈父风采。宋江在江湖上转了一大圈,带着秦明、花荣等好汉准备上梁山。途中,宋江等人在村间小店里遇到前来送信的石勇。石勇带来的书信说,太公已经因病身故。宋江急匆匆刚回家,却发现宋太公安然无恙,依然活得好好的。接下来,宋太公向宋江解释,之所以诈死让宋江回来,主要是害怕宋江被江湖上的朋友拉下水,成为不忠不义的人。由此看来,宋太公堪称大宋社会的良民。宋江回来后不久,就因为有案底在身别抓捕。其时,因为朝廷册立太子,大赦天下,宋江减罪一等,被判了徙流之罪。在宋江判决期间,宋太公花了大量银子去疏通,终于为宋江买得去江州的机会。江州是经济发达的鱼米之乡,能刺配到那里比到沧州、孟州之类的地方要好得多。为了让宋江在刺配路上少受罪,宋太公还专门请两位押解的公人吃饭,并送了他们不少的银两。宋太公是乡土社会中比较能干的老人,挣下了一份家业,心疼儿子但也没有忘了教育子女走正道,人情练达却又不失厚道。宋江上山后念念不忘忠君报国应该与宋太公的教育有关。
穆家村的穆太公是穆弘、穆春两兄弟的父亲。宋江刺配江州途中,路遇后来也是梁山好汉的薛永。薛永流落在揭阳镇打拳卖艺,因为没有给地头蛇穆春交保护费,没有人敢打赏。过路囚徒宋江对此不知情也不在乎,就给了薛永五两银子,因此得罪了穆春,没有旅店留宿,阴差阳错跑到穆太公庄上求宿。穆太公表现得和史太公对待王进母子一样的热情,让庄客安排宋江和两个公人去门房里休息,并取来饭食招待他们。穆太公非常勤劳,夜里亲自点火查看打麦场以及庄园各处,令宋江大为感慨:“这太公与我父亲一般,件件都要自来照管。这早晚也不肯去睡,琐琐地亲自点看。”宋江正要入睡,穆春吵吵嚷嚷地回来,要哥哥穆弘去抓囚徒宋江和打拳的薛永。穆太公没有告诉儿子庄上来了陌生人,而是教育两个儿子不要整天打打杀杀,应该积些阴德。
孔明、孔亮兄弟也有一个好爸爸孔太公。武松大脑飞云浦后,杀了张都监一家,流落在江湖之上,在小店里打了孔亮,却又醉倒在小溪里,被拿到孔家庄上,巧遇在此避难的宋江。孔太公一连半个月好吃好喝招待武松,还给武松新做一套行者衣服和皂布直裰,临别时赠银50两,虽说主要看在宋江面子上,我们也可以看出孔太公也是一位有情有义的老人家。
当然,也不是所有的太公都是仁义之人,登州毛家庄的毛太公就不是好东西。解珍、解宝兄弟接下了登州知府的杖限文书,在三日内捕获伤人恶虎。老虎中了兄弟俩的药箭,从山上滚到毛太公的庄园里。毛太公贪图赏钱,不但不给老虎,还诬告解氏兄弟上门抢劫,并上上下下打点银子要置二人于死地。为了一点赏银不惜害人性命,这样的老人在古风犹存的乡土社会实属罕见,心肠之歹毒与市井社会中的王婆不相上下。
当然,毛仲义这样黑心的太公在书中属于特例。大多数太公给人的印象都是仁厚、慈祥而又乐善好施。水浒中的太公们生于太平盛世,他们勤俭持家,都攒下了自己的一份家业,对子女们充满了慈爱。
说完了太公,再说他们的年轻一代。
与太公们安于田园生活不同,他们的年青一代则浑身充满了戾气和野心。史进有这么一份家业,想的不是操持家业,减轻父亲的压力,而是整天舞枪弄棒,热衷于暴力。
史进身上刺着九条龙,人称九纹龙。即使在宋代,刺青也是不登大雅之堂的东西。身上有刺青的人在科举或者提拔等方面要受到限制,大将狄青就因为身上有刺青而自卑不已。五代时的郭威为了表示他没有做皇帝的心,曾经说:“世上怎么有刺青皇帝呢?”因此,不少人为了表示对社会不满在身上刺青,以表示与主流价值观的决裂。
宋太公的儿子宋江比史进城府深,但也很不安分,年过三十不成家立业,而是整天热衷于打熬气力,结交黑社会分子,浔阳楼题诗,说什么“他年若得报冤仇,敢笑黄巢不丈夫”,又说“他时若遂凌云志,敢笑黄巢不丈夫”,黄文炳告宋江要造反确实是有依据的。
穆太公、孔太公都是好人,他们的儿子们却都是地头蛇一类的东西。穆家兄弟在揭阳岭收保护费,谁得罪了他们只有死路一条。孔家兄弟在乡间称王称霸,身边不离一二十个大汉做打手。
老一代的太公们都很热爱自己的家园,他们一辈子生与斯长于斯,辛辛苦苦建立了美好家园,与邻里们和谐相处。老人们经常到村口小酒店里喝上两口,生活得有知有味。他们挣下来的家业,到下一代手里往往是逃亡之前被一把火烧得干干净净。
老一辈有温暖的家,年轻一辈则毁掉家流落江湖。宋江为吏时脱离家庭单独住,犯事以后多年流落江湖,没有固定的居所。史进放火烧掉自己的家,到边关寻找师傅未果,上了少华山。穆家兄弟和孔家兄弟最终也都放弃家园上了梁山。这些年轻人都把上山当强盗视为一种有前途的职业。
两代人性格和行为模式差异,说明即将崩溃的大宋社会充满了戾气,而这种戾气与其时上层社会的腐败显然有关。正是上层社会的腐败让年轻一代失去了信心,感到在体制内缺乏发展的机会,从而放弃家园,走上对抗现行体制的不归路。
第二篇:读《水浒》后记三:强者能否永远吃定弱者
《水浒传》读后让笔者哭的死去活来的问题三:强者能否永远吃定弱者
水浒世界是一个弱肉强食的世界。
强者,有权有势有武艺。啥也没有的,则是弱者
高俅官居太尉之职,手中掌握了巨大的权力,是王进、林冲不敢得罪的强者。地方上的慕容知府、张都监,或管民,或管军,也都是强者。官的背后有国家法度,有军队捕快,大大小小的官儿依靠手中的权力可以用朝廷的名义合法地伤害百姓。老百姓说,民不与官争。
毛太公、西门庆是地方上的富户,他们共同的特点是不差钱。有了钱就可以收买官员手中的权力。一旦这些有钱人起了歹念,解氏兄弟、武大郎就是砧板上的肉。老百姓说,穷不与富争。
镇关西、牛二等无赖,有一身蛮力,在市井间欺男霸女。穆氏兄弟和孔氏兄弟,会武艺,手下养着一大群能打的庄客,属于乡土社会里的村镇恶霸。老百姓看到这些称霸一方的强者往往说,咱惹不起,还躲不起吗?
在北宋末年弱肉强食的世界里,弱者遇到强者只能自认倒霉,比如武大郎丢了命,王进远走他乡。但强者能否永远吃定弱者,值得研究。
世界上没有永恒的强者。东京赫赫有名的80万禁军教头林冲,军官身份,一身惊天动地的好武艺,有稳定的收入和美满的家庭,在一般人眼中绝对是强者。但在太尉高俅面前,绝对是软柿子。一旦高俅为了养子要对付他,陆谦、富安乃至董超、薛霸之流小角色都可以置林冲于死地。
富甲天下的卢俊义是大名府的一等长者,一旦被梁山设了局又被李固举报沦为阶下囚,就迅速从强者变成弱者。当李固和蔡氏兄弟为了卢俊义的命值多少黄金讨价还价时,当董超、薛霸在刺配途中要结果他时,万贯家财和绝世武功都救不了他的命。柴进有东、西两个庄园,手里还有先皇御赐的丹书铁券,在林冲、宋江等落难英雄面前属于超级牛人,但碰到了高俅堂弟高廉的小舅子殷天锡,就成为挨打受气的主。
郑屠投靠小种经略开肉铺,自己能打,手下又有一大批能打的徒弟,自称镇关西,在渭州欺男霸女。比郑屠更牛的鲁提辖说:“洒家始投老种经略相公,做到关西五路廉访使,也不枉了叫做镇关西。你是个卖肉的操刀屠户,狗一般的人,也叫做镇关西。”结果,鲁提辖三拳打死了郑屠户。东京城里的牛二,在市井间小商小贩看来是恐怖的没毛大虫,碰到三代将门之后青面兽杨志的宝刀,也只能呜呼哀哉。
上面所说主要是强者不恒强。与之相应,弱者也不恒弱。
山不转水转,强和弱本身就不是固定不变的。最初的高俅被一顿毒打赶出东京,大赦回京后被踢皮球一样从这个主人踢给那个主人,这个时候的高俅是弱者。一旦高俅得到了端王的赏识,端王成为徽宗皇帝又提拔高俅当了太尉,这个时候的高俅就成了强者。太师府的奶公,不过是蔡京家的一个奴仆,到了梁中书的留守府就成了老都管,押送生辰纲的时候在杨志面前俨然成了得罪不起的大人物。
解珍、解宝猎杀的老虎掉到了恶霸毛太公的庄园里,毛太公起了贪念,要霸占老虎去领赏,为了这点小利还诬告解氏兄弟抢劫。毛太公的女婿王正是州里的孔目,勾结州官要取兄弟二人的性命。在权钱勾结的黑恶势力面前,解氏兄弟成为叫天天不应的弱者。解氏兄弟命不该绝的是,他们有个好表姐顾大嫂。顾大嫂的老公孙新也是江湖上的好汉。夫妻俩做的是杀牛放赌的黑道生意,与登云山的黑道分子邹渊、邹润交情深厚。孙新的哥哥病尉迟孙立武艺高强,还是登州地面负责缉盗的提辖。顾大嫂整合黑白两道的力量,劫狱救了解氏兄弟,大闹州衙后,杀了毛太公一家。解氏兄弟虽然是寻常猎户,但他有顾大嫂、孙立这样的硬亲戚,毛太公要欺负他们,也得付出生命的代价。
武大郎是做小本生意养家糊口的市井小民,天天起早贪黑做炊饼卖,在当时的世道下要想勤劳致富是不可能的,只能勉强温饱。忽然有一天,天上掉馅儿饼了,张大户把他家的美貌丫鬟送给武大郎做老婆,武大郎觉得上天对自己不薄。潘金莲的美貌引来了有钱有势的西门庆,二人产生了奸情后把可怜的武大郎毒死了。要说谁是书中的第一号弱者,武大郎是当然人选。但武大郎的弟弟武松,却是景阳冈上的打虎英雄。西门庆和潘金莲的一时快活,换来了人头落地。有武松这样的好汉做兄弟,西门庆想吃定武大郎,看来也不那么容易。
强弱之间转换的玄机在于人心。高衙内调戏林娘子,林冲拳头打出去还是硬生生地收回来了。林冲害怕的不是高衙内,而是高衙内背后的高太尉。高太尉总管全国的武官,林冲一个枪棒教头,不过是中下级军官,得罪了高太尉绝对死路一条。这个时候的林冲还想在体制内混,保住自己的地位和俸禄,只能忍声吞气。接下来,高俅设局,林教头误入白虎堂后被刺配沧州。途中,林教头受尽了董超、薛霸两个小公安的侮辱,以林冲的武功,要杀掉这两个小子亡命天涯,不算什么难事。但林冲忍了,主要还是想沧州牢城营服刑期满后,回到体制内过自己的安稳日子。风雪山神庙那一回,陆谦等人火烧大军的草料场,林冲再也没有回到体制内的可能。这个时候的林冲,再也忍不下去,杀气爆发出来,就由弱者变成了强者。林冲与陆谦等人之间的强弱取决于林冲的心态,当林冲甘心情愿在体制内做绵羊时,他就是弱者。当林冲彻底看清了这个社会的黑与恶,不再对于体制抱有幻想,而改为用手中的刀和枪来为自己争取公平和正义时,林冲就由弱者而变成了强者。
武松也是如此。刚出场的武松虽然有酗酒打人等恶习,但毕竟也还是对未来充满幻想的热血青年。武松不是书香门第的读书郎,不可能通过科举光宗耀祖。但武松的天生神力和一身好武艺,在异族频频入侵的年头,确实可以“一刀一枪,到边上博个封妻荫子”,这是武松的最大梦想。正因为怀着报效祖国的远大理想,武松虽然受到社会的不公正待遇,却一直不愿与主流社会决裂。武大郎死后,武松首先去报官,希望在法律的框架内解决问题。在县官收受了西门庆的贿赂不作为的情况,武松先取证后杀人,还是希望保留回到体制内的机会。在十字坡,张青夫妇提出杀了两个押送的公安,介绍武松到二龙山落草,武松拒绝了。在快活林,武松为了回报施恩的义气,出手教训蒋门神,并没有像鲁智深那样三拳打死人,而是手下留情。武松之所以不愿意弄出人命,还是为在体制内寻求发展留后路。张都监、张团练、蒋门神设圈套对付武松,在飞云浦,当感到脖子的绳子越勒越紧,再不反抗就要送命时,武松出手了。武松一出手,两个押送的公人就得死,蒋门神的两个徒弟也得死。意犹未尽的武松赶到张都监家,连杀十五口人,在粉墙上踌躇满志地写下:“杀人者,打虎武松也。”武松由于对社会的失望,成了依靠暴力解决问题的江湖强人。从此,热血热心的好青年武松变成了冷心冷面的武行者。一百零八颗人顶骨数珠,两把镔铁戒刀,是武行者的主要行头。从蜈蚣岭的王道士开始,多少人都将死于武行者的戒刀之下。
结论是,强者不恒强,弱者不恒弱。当强者自以为吃定弱者时,其实离自己的死期也不远了。人生在世,或强或弱,给别人留一点活路,实际上也是在给自己留活路。
第三篇:读《水浒》后记十:流落江湖的烟花女子
《水浒传》读后让笔者哭的死去活来的问题十:流落江湖的烟花女子
《水浒传》是一部写黑社会暴力的书,其中却也写了不少流落江湖的烟花女子。
这么多人流落市井吃青春饭,主要与当时的城市文化关系。那时候的城市,除了是政治、军事中心,还是经济、文化中心。东京、大名府等繁华大都市里到处都是三瓦两舍等娱乐场所,娱乐场所少不了有人卖唱。中等城市孟州有快活林这样的地方允许过往妓女从事性产业,郓城这样的小县城有不止一座瓦子勾栏。阎婆惜勾搭上的小白脸张文远,“平昔只爱去三瓦两舍,飘蓬浮荡,学得一身分流俊俏”。清风寨这样的小镇,也有几座小勾栏,宋江就是在看表演的时候被刘高拿住的。这些瓦子勾栏为各个阶层提供文化娱乐方面的消费服务,其中就包含演唱甚至色情服务。
官员们或者富人们出入上述娱乐场所一方面是为了追求享乐,一方面也是为了得到升官发财必不可少的宝贵信息。
一般正经人家的女儿当然不愿意在这样的场所卖艺卖身。歌女们流落烟花之地往往与家道中落有关系。封建社会没有社会保障机制,遇到天灾人祸或者突发事件家道中落是很常见的事情。家道中落以后,男的沦为破落户子弟,比如年青时候的高俅,女的往往就沦落为烟花女子,如在渭州被鲁达所救的金翠莲。金翠莲原先是东京人士,同父母亲来到渭州投奔亲戚,没想到亲戚搬到南京去了,母亲在旅店里病死了,父女二人流落渭州。当地的卖肉老板镇关西是个恶霸,强媒硬保,纳金翠莲为妾。按照当时的规矩,纳妾要给买身钱。镇关西在卖身契上写了3000贯,实际上分文未给,这叫做虚钱实契。不久,镇关西把金家父女赶出去,向他们追讨根本不存在的3000贯。金老汉无计可施,只能教女儿唱些小曲儿,在渭州的小酒楼里卖唱为生,每天吃饭以外的结余都给了镇关西。鲁达就是在得知事情原委后气愤不已才拳打镇关西的。
被宋江收留的阎婆惜,最初也是东京人氏,与父亲阎公、母亲阎婆来山东投奔一个官人不着,流落郓城县的。那么多人从首都东京出来投奔小城市的亲戚,说明当时的大城市已经人满为患,很难混碗饭吃。阎婆惜的父亲阎公平昔是个有点演艺才能的人,教会女儿不少小曲儿,希望在郓城有口饭吃。但郓城毕竟是小县城,夜生活也不够丰富,所以一家人的生活很拮据。不久,阎公得传染病死掉了,阎婆母女连安葬亲人的钱都拿不出来。及时雨宋江疏财仗义,施舍了棺材,还给了10两银子让阎婆养家。为了母女二人以后的生活有着落,阎婆主动找到做媒的王婆,要把女儿说给宋江做外室。宋江是场面上的人,家庭也非常殷实,阎婆惜要做明媒正娶的妻子不大可能,但是做个别宅妇从年龄相貌上说还是拿得出手的。阎婆惜跟了宋江,没半月之间,打扮得阎婆惜满头珠翠,遍体绫罗。这说明,做二奶谋生活要比自食其力容易得多。
江州宋玉莲,原来也是京师人,跟随父母亲流落到江州琵琶亭卖唱为生。戴宗邀请宋江喝酒,李逵作陪。宋玉莲来到酒桌前唱歌,希望讨些赏钱,被不解风月的李逵一指头捺倒在地。为了平息纠纷,宋江答应给二十两银子,说:“我与你二十两银子,将息女儿,日后嫁个良人,免在这里卖唱。”宋玉莲遇到宋江,可谓因祸得福。
白秀英是从东京来到郓城的歌妓,色艺双绝,在郓城期间或是歌舞,或是吹弹,或是歌唱,轰动了整个郓城。雷横出差回来,被人拉到勾栏里去听戏,坐在第一位上。以雷横都头的身份,坐在第一位上并无不可,但不巧那天身上没有带钱。从书中所写来看,歌女演出不预先卖票,而是演唱中间由看客打赏。打赏一般从第一位客人给起。第一位客人不给钱是很忌讳的事情,要么是演出不精彩,要么是有意拆台,这就影响其他客人给赏钱时的心情。这些事情雷都头不是不知道,但那天偏偏不巧,钱袋不在身上。雷横不住打招呼,表示明日一并打赏,但是遭到白秀英的奚落。白秀英的父亲白玉乔更是出语刻薄,说雷横要是懂得娱乐场所的规矩时,除非狗头上生角,还讽刺雷横是三家村使牛的。这种口气是很伤人的,跟现在的上海人喜欢骂人家乡下人一个腔调,总之是瞧不起人。当有人劝阻说:“使不得,这个是本县雷都头。”白玉乔骂道:“只怕是驴筋头。”雷横这个都头,搁现在,相当于县里的刑侦大队长,听个戏,即使不给钱也没人敢吭声。白家父女为什么不买账,因为他们有后台。后台就是郓城县的新任知县,知县老爷在东京就与白秀英有来往,两人关系极其暧昧。雷横不知这一层关系,动手打了白玉乔。结果被知县派人捉拿到官衙,当厅责打,还把雷横戴上枷锁在勾栏前示众。这些流落江湖的烟花女子,本身命运悲惨,属于社会上的弱势群体,值得同情。但她们如果认识一个县令之类,自己感觉颇有势力时,也会欺负人。阎婆惜自以为逮住了宋江勾结梁山强盗的把柄,勒索恩人宋江,结果死在宋江手里。
娼妓李睡兰是史进在东平府的老相好,宋江攻打东平府,史进主动提出做内应。吴用知道后,埋怨宋江不该让史进去,吴用对于妓院的评价是:“从来娼妓之家,迎新送旧,陷了多少好人。更兼水性无定,纵有恩情,也难出虔婆之手。”当李睡兰表示不愿意出卖史进时,虔婆说:“我这行院人家,坑陷了千千万万的人,岂争他一个。”人性中的恶在她身上体现得淋漓尽致。最终,史进被捕入狱,被打得死去活来。
这些烟花女子的结局都不好,阎婆惜被宋江杀死,白秀英被雷横杀死,李睡兰全家死于史进之手。此外,书中被杀死的妓女还有建康府的李巧奴,她的死是因为阻止安道全上梁山。金翠莲做了赵员外的外室,宋玉莲不知所终,算是不错的结局
与上述烟花女子相比,东京城里的花魁李师师要风光得多。李师师的服务对象主要是当今圣上宋徽宗。除了宋徽宗,偶尔有兴致也会见见宋江之类的江湖豪客。李师师不缺钱,宋江第一次见李师师,送了100两黄金见面礼,李师师眼皮都没有抬,对她来说,钱只是一个数目而已。李师师深受皇上的宠爱,她能够为燕青求得皇上亲笔手书的特赦令。李师师对于皇上的行踪也很熟悉,在招待宋江等人时说:“其实不敢相留,来日驾幸上清宫,必然不来,却请诸位到此,少叙三杯。”在李逵拳打杨太尉,放火烧了李师师家时,宋徽宗虽然受了一点惊吓,但并没有责怪,反而拨款把李师师重建了新家。
同样是烟花女子,白秀英被打死,李师师得到皇上的宠爱,与其素质有关。从李师师两次招待宋江等人的态度可以看出,李师师很有一点知性美女的范儿。
一是不谈钱,宋江接触李师师目的是为了打通与皇上之间的信息通道,李师师完全可以利用这一时机勒索梁山好汉大发其财,但她完全不在乎。
二是不仗势欺人,白秀英不过傍上区区一个县令,气焰就嚣张得不得了,李师师傍上的可是当今圣上,可她从来不拿皇帝的名头出来欺负人。
三是比较幽默,打趣李逵好像是土地庙里对判官立地的小鬼,当宋江说到李逵姓李时,李师师说:“我倒不打紧,辱没了太白学士。”李师师的言谈机智而又风趣幽默,显示出她具有一定的人文素养,所以当其她歌女觉得在首都谋生大不易,纷纷离开东京,流落地方时,她却能在东京如鱼得水。
第四篇:《Java与模式》读后记
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
《Java与模式》读后记
类图中的关系:
1.一般化关系 普通的继承关系
(单向的)2.关联关系 如:在类A中有类B这个类型的成员变量(属性);类A与类B是平等的;使用一根直线连接;可以是单向,也可以是双向的。
(双向的,可以使用两个箭头,也可以一个也不用)。3.聚合关系 体现整体与部分的关系,如:在类A中有类B这个类型的成员变量(属性);类A与类B是不同层次的;只能是单向。
(连线的起始点上有一个空心圈)4.合成关系 体现整体与部分的关系,且整体负责部分的生命周期,如:在类A中有类B这个类型的成员变量;类A与类B是不同层次的;只能是单向。
(连线的起始点上有一个实心圈),不能共享。5.依赖关系 如:在类A中要使用类B这个类型的临时变量或参数变量或类B中的静态函数,表示类A依赖于类B;只能是单向的。
UML建模工具:
Together 可以画图,可以生成代码
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
Rational Rose 可以画图,可以生成部分代码 Visio
导致一个软件设计的可维护性较低,并随着要求的变化而“腐烂”的原因:
过于僵硬,过于脆弱,复用率低,黏度过高
遵循以下原则,可以有效地提高系统的复用性、可维护性: 开闭原则(Open-Closed Principle):
一个软件实体应当对修改关闭,而对扩展开放。里氏代换原则(Liskov Subsitituion Principle):
任何基类可以出现的地方,子类一定可以出现。依赖倒转原则(Dependency Inversion Principle):
要依赖于抽象,不要依赖于实现。合成/聚合复用原则(Composition/Aggregation Principle):
要尽量使用合成/聚合,而不是使用继承关系来达到复用的目的。
迪米特法则(Law of Demeter):
一个软件实体应当与尽可能少的其它实体发生相互作用。(只与接口发生相互作用,而不与具体类。)接口隔离原则(Interface Segregation Principle):
应当为客户端提供尽可能小的单独的接口,而不要提
精心收集
精心编辑
精致阅读
如需请下载!只能画图
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
供大的总接口。
开闭原则的关键是“抽象”,将可变的因素封装起来(即抽象出来),然后由各个具体的子类来实现。
模式分为:架构模式、设计模式、代码模式。
架构模式:是一个系统的最高层次策略,确定整体性质、整体目标、整体实现方式的规划等。(如:MVC模式)
设计模式:是中等尺度的结构策略,确定一些组件的结构、行为、相互配合关系等。
代码模式:是特定范围的代码设计规范、实现方式、编程技巧等。
设计模式可以划分为:创建模式、结构模式、行为模式。
创建模式:
------------------------------1.简单工厂模式: 又称为静态工厂模式,是一种“创建模式”,是一个工厂对象根据参数决定创建哪一种产品对象的实例。将大量有共同接口的类实例化。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
抽象产品类可以是接口,也可以是抽象类;一般情况下,如果各产品之间有共同的特性,则应该使用抽象类来充当抽象产品角色。
有三个角色:工厂、抽象产品、产品。有些情况下,工厂类与抽象产品类可以合并。
缺点:要扩展子类时,需要修改工厂类。此模式只能在有限的程度上支持“开闭原则”(对客户而言是支持的,对工厂而言是不支持的)。
2.工厂方法模式: 是一种“创建模式”,是虚拟构造子模式,或多态性工厂模式。是简单工厂模式的进一步的抽象和推广,即保留了简单工厂模式的优点,但克服了简单工厂模式的缺点,即将具体创建的工作交给子类去做,而工厂类只是一个抽象类,只给出如何做的接口。
有四个角色:抽象工厂、具体工厂、抽象产品、具体产品。
特点:要扩展子类时,需要创建具体工厂类和具体产品类。其核心是抽象工厂类(简单工厂模式的核心是具体工厂类)。
对于客户是支持“开闭原则”的,对于抽象工厂也是支持的。总之,对于增加新产品而言,此模式是完全支持“开闭原则”的。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
3.抽象工厂模式:是一种“创建模式”,与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式针对的是多个产品等级结构。
有四个角色:抽象工厂、具体工厂、抽象产品、具体产品。其中,具体工厂类含有选择合适的产品对象的逻辑。
一般而言,有多少个产品等级结构,有会在工厂角色中发现多少个工厂方法。每一个产品等级结构中有多少个具体产品,就会有多少个产品族。
也就会在产品等级结构中发现多少个具体工厂。
当不变更或增加产品等级结构时,如果要扩展产品族,则要增加“新的产品族的具体工厂类”、“本产品族的每一个产品等级结构的具体产品类”。
这种情况是支持“开闭原则”的;
而如果要变更或增加产品等级结构(增加产品),则需要修改抽象工厂类及所有的工厂角色,这种情况是不支持“开闭原则”的。
注意:具体工厂类可以设计成单例模式。
4.单例模式:
要求产品类的构造函数是私有的,也就是不允许客
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
户自己创建一个产品类,而必须是通过工厂(这个工厂可能是产品类自己的一个方法)创建。
换言之,单例模式通过自己的一个静态方法创建自己的实例。它使用一个静态属性存储自己的实例,工厂方法永远只提供这一个实例。
单例模式从实现方式是分为:饿汉式(静态成员一开始就初始化)和懒汉式(静态成员在调用实例化类时创建),这两种方式由于构造函数是
私有的,所以此类不能被继承。不过,如果想要继承单例模式的类,可以将它的构造函数申请为Protected。
一般用于提供工具性的函数类。
双重检查成例:
是一种从C语言移植过来的代码模式。在C语言中,它常常用在多线程环境中类的晚实例化里。不过,JAVA中不能使用,因为无法通过编译。
MX Record:
Mail Exchange Record JNDI架构:
Java Naming and Directory Interface(Java命名和地址界面)
5.多例模式:
与单例模式的区别是工厂可以产生多个自己的实例,这些实例用一个集聚对象存储。应用到的地方有:比如,每个实例可
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
以代表一个状态。
与单例模式一样,也是一种“创建模式”。
6.建造模式:
也是对象的“创建模式”。建造模式可以将一个对象内部的表象与产品的生产过程分割开来,从而可以使一个产品的建造过程具有不同的内部
表象的对象。建造模式利用一个导演者对象和具体的建造者对象一个一个地建造出所有的零件(属性或对象),从而建造所完整的对象。
有四个角色:导演者、抽象建造者、具体建造者、产品。还可能有抽象产品角色。
导演者角色是与客户端打交道的角色,它将客户端创建产品的请求划分为对各个零件的建造请求,再将这些请示委派给具体建造者角色。
一般来说,每有一个产品类,就会有一个相应的具体建造者类,而此产品的零件数目也就是此具体建造者类建造方法的数目。
对于不需要增加产品零件时,要扩展产品时,需要增加产品类、具体建造者类。而如果要增加产品零件,则要修改抽象建造者。
在以下二种情况下可以使用建造模式:
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
1)产品对象有复杂的内部结构(如零件是对象);
2)产品对象的属性相互依赖,有强制的建造顺序;
3)当产品对象的属性没有确定之前,产品对象不能使用;
例如:肯德基的食品不管在哪个店,味道总是一样的,这就是因为它将产品的生产过程流程过、规范化,客户只要产品,而不管食品是如何
生产出来的,这就是建造模式,即将创建产品的过程由另一方通过流程化的方式来建造。
7.原始模型模式:是对象的创建模式。通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。
它有二种表现形式:1)简单形式;2)登记形式;这二种形式有着不同的实现,对原始模型模式的模式结构的细节的处理也不相同。
1)简单形式:有三个角色:客户,抽象原型,具体原型。
2)登记形式:有四个角色:客户,抽象原型,具体原型,原型管理器。
扩展新产品时,只需动态地复制原型对象就可以了,精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
只不过要考虑是浅复制还是深复制,如果是浅复制,则直接使用clone方法就可以;
如果是深复制,则原型对象类要实现一个接口Serialization,且此类中的引用对象的原型类都要实现此接口,深复制要深入到多少层
是一个不容易确定的问题,在决定以深复制来复制一个对象的时候,必须确定对间接对象是采用深复制还是浅复制,即要决定深度。
此模式的主要的缺点是:原型类需要配备克隆方法,配备克隆方法需要对类的功能进行通盘考虑,这对于一个新的类不难,但对于已经
存在的类不是很容易,特别是当一个类引用不支持串行化的对象,或者引用含有聚集或循环结构时。
浅复制:复制对象的属性,但被复制的对象与复制的对象中的引用属性指向的是同一个引用。即只复制属性值。默认用Object.clone()可以实现;
深复制:复制对象的属性,并对引用属性重新赋一个有效的新引用。要实现深复制的类需要实现 Serialization 接口,并使用对象流进行复制。
串行化:将一个Java对象串行化只需要实现两个接口中的一个即可:要么实现Serialization接口,要么实现Externalizable接口。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
------------------------------
结构模式:
描述如何将类或对象结合在一起形成更大的结构。它描述两种东西:类、类的实例,所以它分为“类的结构模式”和“对象的结构模式”。
类的结构模式:使用继承把类、接口等组合在一起。是静态的。
对象的结构模式:把不同类型的对象组合在一起,是动态的。
------------------------------8.适配器模式:
把一个类的接口变换成客户端所期待的另一种接口,从而使因接口不匹配而无法在一起工作的两个类能够在一起工作。
类的适配器模式:有三个角色:目标角色、源角色、适配器角色。其实就是利用“继承”与“实现”,用适配器角色将源角色适配成目标角色。
对象的适配器模式:有三个角色:目标角色、源角色、适配器角色。使用“委派”而不使用继承与实现,即在适配器类中使用源角色。
此模式应用相当广泛。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
9.缺省适配模式:为一个接口提供缺省实现,这样子类型就可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。此模式是适配器模式的一个特例。
如:WindowAdapter。
在任何时候,如果不准备实现一个接口的所有的方法,就可以模仿WindowAdapter的做法制造一个抽象类,给出所有方法的平庸实现,这样,从这个抽象类再继承下去的子类就不用再实现所有的方法了。
10.合成模式:
又叫做“部分---整体模式”,同时也是一个树结构。合成模式的实现根据所实现接口的区别分成两种形式,分另称“透明式”和“安全式”。
透明式和安全式的合成模式都有三个角色:抽象构件、树技构件、树叶构件。
透明式:在抽象构件类里面声明管理子类对象的方法,如:add(), remove(), getChild(),但在运行时对树叶节点做这些操作时会报错。
安全式:只在树技构件中声明管理子类对象的方法,精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
运行时不会报错,但树技与树叶没有共同的接口,不够透明。
其实,每一个合成模式的对象都是一个容器对象,本身包含两种对象,一种是普通对象,另一种是可以包含子对象的对象。
例子:System.Web.UI.Control就是一个合成模式的应用。
11.装饰模式:
又称为包装模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
角色有:抽象构件角色Component、具体构件角色ConcreteComponent、装饰角色Decorator、具体装饰角色ConcreteDecrator。
“具体构件角色”从“抽象构件角色继承”,“装饰角色”从“抽象构件角色”继承,“具体装饰角色”从“装饰角色”继承。
使用时,先定义一个子类对象(ConcreteComponent),再定义一个装饰子类对象(ConcreteDecrator),并传入前一个对象,Component comp = new ConcreteComponent();
Component compnew = new ConcreteDecorator(comp);
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
compnew.simpleOperation();// 这里执行被装饰的对象的事件,在此事件中调用了父对象的相关方法,即comp的方法,这就是装饰。
即将“一个ConcreteComponent对象”装饰成“一个ConcreteDecorator对象”,那么compnew这个对象有了ConcreteDecorator的功能,但这个对象的核心还是一个ConcreteComponent对象,所以compnew还拥有后者的功能,即将原对象功能扩展了在新对象中才有的功能。
装饰模式应用最多的是在Java的I/O库,如InputStream、OutputStream、ByteInputStream、ByteOutputStream、Reader、Writer。
12.代理模式:
给一个对象提供一个代理对象,并由代理对象控制原对象。其实就是加一个中转站。好处是:系统有了客户向原对象提出的请求的控制。
Windows系统的“快捷方式”就是一个代理模式的例子。
角色有:抽象主题角色、代理主题角色、真实主题角色。
java语言中的java.lang.reflect库中有三个类能直接
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
支持代理模式:Proxy、InvocationHandler、Method。
13.享元模式:
flyWeight。享元模式以共享的方式高效地支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在
享元对象内部,可以共享,不受环境影响;而外蕴状态却受环境影响,不能共享,必须由客户端保存,只在需求的时候才传入享元对象内部。
根据所涉及到的享元对象的内部表象,享元模式分为“单纯享元模式”和“复合享元模式”。
单纯享元模式的角色有:抽象享元角色、具体享元角色、享元工厂角色、客户端。
复合享元模式的角色有:抽象享元角色、具体享元角色、复合工厂角色、享元工厂角色、客户端。
此模式的精髓是:为每一种类型(即内蕴对象)的对象只创建一个实例,而不用每次都创建新的对象,这样实例对象就能在外面实现共享。
在设计一个类时,如果想要它支持享元模式,则要将能共享的状态(可以说是属性)与不能共享的状态区分开,即将不能共享的状态剔除,那些不能共享的状态可以做为外蕴对象在使用那
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
个类时,做为一个参数传进去。另外,这个类的创建过程必须由一个工厂对象加以控制,这个工厂对象应当使用一个列表来保存已经创建出来的对象。当客户端请求一个新对象进,工厂对象首先检查此列表,看是否已经有一个
同状态的对象。如果有,则直接返回此对象;如果没有,则创建一个新对象,并将此对象存入列表。
14.门面模式:
外部与一个子系统的通信必须通过一个统一的门面(facade)对象进行。如:一个保安系统中控制台,通过控制台可以控制所有保安设备。
角色有:门面角色,子系统角色。
15.桥梁模式:
又称为柄体(如一个杯子的手柄)模式或接口模式。图示也像一座桥。
此模式的精髓是:尽量使用合成/聚合,而不是继承关系来达到扩展系统功能的目的。目的是“分离抽象化与实现化”。比抽象工厂模式更好。
如:有二种飞机,客机和货机,Boeing、Airbus、MD都生产这二种飞机,那么如果客户想要买Airbus的客机或Boeing
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 的货机,是不是
要创建出六个对象才行呢?如果使用继承来描述,则要设计六个类,且关系是僵化的,用抽象工厂模式可能好一些,但也要创建出六个对象,而用桥梁模式,则不需要创建六个对象,只需通过合成/聚合的方式就可以办到。即:在客机对象中,根据用户传入的条件(应用“简单工厂
模式”),创建出对应的制造商对象,那么在客户端使用时,就可以使用如“Airbus的客机”的对象。
角色有:抽象化角色,修正抽象化角色,实现化角色,具体实现化角色。
------------------------------
行为模式:
是对在不同的对象之间划分责任和算法的抽象化。是关于类和对象的,也是关于它们之间的相互作用的。分:类的行为模式和对象的行为模式。
类的行为模式:使用继承关系在几个类之间分配行为;
对象的行为模式:使用对象的聚合来分配行为。---
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
---------------------------16.不变模式:
一个对象的状态在被创建之后就不再变化,这就是所谓的不变模式。即一个类的内部状态创建后,在整个生命周期内不会发生变化。
不变模式分为:弱不变模式、强不变模式(如:String类、Integer类等就是一个强不变类)。
弱不变模式:一个类的实例的状态是不可变化的,但这个类的子类的实例具有可能会变化的状态。(方法与成员变量为私有的)
强不变模式:一个类的实例的状态是不可变化的,且这个类的子类的实例也具有不可变化的状态。(类是final的,或所有方法都是final)
实际上,大多数的享元对象是不变对象,但享元对象允许修改它的内蕴对象,修改后,只要享元对象本身还是可以共享的就可以。
17.策略模式:
在一个系统中,如果有一组算法(系统中的一部分),那么就将每一个算法封装起来,让它们有共同的接口,使得它们可以在使用时互换。
角色有:环境角色,抽象策略角色,具体策略角色。
以下情况可以考虑使用策略模式:
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
一、如果在一个系统中有很多类,它们之间的区别仅在于它们的行为,那么可以使用策略模式封装它们,使用时选择其一就行。二、一个系统需要动态地在几种算法中选择一种。
与简单工厂模式不同的是:具体在使用什么策略类由客户端指定,而不是由一个工厂方法给出。
优点:
一、可用于管理算法族,恰当地使用继承可以将公共的代码移到父类里面,从而避免写重复的代码。
二、可以避免使用多重条件转移语句。
缺点:
一、客户端必须知道所有的具体策略类,并自行决定使用哪一种策略类。
18.模板方法模式:申明一个抽象类,将部分逻辑以具体方法或构造函数的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑。
模板方法模式是java中最常见的模式之一,如javax.servlet.Servlet及子类就是这个模式的应用。
钩子方法的命名规则是以“do”开头。
19.观察者模式: 又叫做“发布-订阅模式”、“模型-视图模式”、“源-监听器模式”、“从属者模式”。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生改变时,会通知所有的
观察者对象,使它们能够自动更新自己。最常见的观察者模式的例子是java中的事件监听器。
另外,java.util.Observer接口和java.util.Observable类也支持观察者模式,可以直接应用这二个类来产生自己的观察者模式。
角色有:抽象主题角色、具体主题角色、抽象观察者角色、具体观察者角色。
在常见的事件处理模型中,对象分为三种:“事件对象”(从EventObject继承),“事件制造者对象”(即一般的类)及“事件接收者对象”(EventListener)
20.迭代子模式: 此模式又称为:“游标模式”。迭代子模式可以顺序地访问一个聚集中的元素,而不必暴露聚集的内部表象。
在Java语言的聚集框架中,广泛地使用迭代子模式来遍历聚集对象,如Iterator接口就是一个迭代器接口。
优点:迭代子简化了聚集的界面,免将聚集对象直接暴露给用户,且迭代的算法可以独立于聚集角色的变化;
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
缺点:迭代子的迭代顺序并不一定就是聚集的元素顺序,且迭代子给出的元素没有类型特征。
21.责任链模式: 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,“请求”在这个链上传递,直到链上的某一个或一些对象
来处理此“请求”。此模式可以在不影响客户端的情况下动态地组织链和分配责任。如:游戏“击鼓传花”、“Window系统的事件处理机制”。
角色有:抽象处理者、具体处理者。
责任链模式分为:“纯责任链模式”和“不纯的责任链模式”,纯责任链模式就是要求只能且必须由一个处理者处理请求,而不纯的责任链模式 的每一个处理者都可以处理,且只处理一部分,并将请求传递给下一下处理者,或者所有的处理者都不处理请求。
22.命令模式:
又称为“行动模式”或“交易模式”。命令模式把一个请求或一个操作封装到一个对象中,可以提供命令的撤消(Undo)或恢复(Redo)功能。
命令模式是的命令的封装,它把发出命令的责任和
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
执行命令的责任分割开,委派给不同的对象。
角色有:客户、命令、请求者、接收者。java中的例子:awt中的事件处理机制。
23.备忘录模式: 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。此模式常常与命令模式和迭代子模式一起使用。
备忘录的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并存储起来,从而可以在将来合适的时候将这个对象的状态还原。
角色有:备忘录角色、发起人角色、负责人角色。
双重接口:一个类或对象(O)对另外两种类或对象(A、B)分别提供两种不同范围接口,一个宽接口(即A能访问O的所有成员),一个窄接口(即B只能访问
O的公共成员)。这种方法的实现方法是:将O写成A的内部类,同时O实现自一个标识接口I,这样A就能访问O的所有成员,而对B只提供接口I,所
以B只能访问I中定义的方法,也就是只能访问O中很少的方法。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
24.状态模式:
又称为状态对象模式。状态模式允许一个对象(环境角色)在其内部状态(内部的状态对象)改变的时候改变其行为(改变为不同的状态对象)。
角色有:抽象状态角色、具体状态角色、环境角色。
与策略模式的区别在于:状态模式的环境角色有明显的状态转移,而策略模式的环境角色的状态是不变的。
分派:根据对象的类型而对方法进行的选择就叫“分派”。静态分派:发生在编译时期。如:重载时对方法进行选择就是一种静态分派。
动态分派:发生在运行时期。根据对象的运行期类型(实际类型)来分派。如:子类对父类的一个方法的覆盖就是一种动态分派。宗量:一个方法所属的对象叫做方法的接收者,方法的接收者与方法参数叫做方法的“宗量”。
单分派:根据一个宗量的类型进行对方法的选择。多分派:根据多于一个的宗量的类型进行对方法的选择。
多重分派:由一系列的单分派组成的分派过程。java.awt.Component中的processEvent()函数就是一个多重分派,即通过参数来判断,进行二次分派。
Java语言支持“静态多分派”和“动态单分派”。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
25.访问者模式: 目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改,接受这个操作的数据结构则可以保持不变。
访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于数据结构上的操作之间的耦合解脱开,使得操作可以自由地演化。
角色有:抽象访问者、具体访问者、抽象节点、具体节点、结构对象。
使用重载的好处与弊病:使用重载的好处是可以强调这些方法所具有的多态性和分析的一致性。
弊病是尽管它们所使用的参量不同,但是太多的同名方法会使阅读代码的人不容易看清楚不同的重载方法之间的区别。过多地使用重载
会使一个不复杂的系统变得复杂,并导致一些难发现的错误。
所以:初学者不会用;中等程度者到处用;资深的设计师谨慎使用。
26.解释器模式: 给定一个语言之后,解释器模式可以定义出其方法
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 的一种表示,并同时提供一个解释器。如:IE就是一个解释器。
此模式非常常见,有时在设计一个模块的功能时会用到这种模式的思想,比如想提供一个更好的方式或语言让用户使用,而程序员需在程序
中解释这种方式或语言,并将解释后的结果传到解释器的下面的最终程序,目的是让最终程序能识别用户所输入的信息,这就是解释器。
角色有:抽象表达式、终结符表达式、非终结符表达式、环境、客户端。
27.调停者模式: 调停者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用,从而使它们可以较松散地耦合。当这些对象中的某些对象
之间的相互作用发生改变时,不会立即影响到其它的一些对象之间的相互作用。从而保证这些相互的作用可以彼此独立地变化。
如:项目开发中的组长就是一个调停者;WTO贸易体中的WTO组织就是一个调停者;它们让成员之间不关联,只让每个成员与调停者关联。
角色:抽象调停者角色、具体调停者角色、抽象同事类角色、具体同事类角色。
精心收集
精心编辑
精致阅读
如需请下载!
演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案
优点:
一、避免了同事对象之间的过度的耦合。使得调停类与同事类可以相对独立地演化。
二、将多对多的相互作用转化为一对多的相互作用。使得对象之间的关系更加易于维护和理解。
缺点:
一、增加了调停者对象的复杂性。
二、调停者类经常充满了各个具体同事类的关系协调代码,而这些代码是不能复用的。
显然,调停者模式为同事对象,而不是调停者对象提供了可扩展性,所以此模式的扩展性是倾斜的。
------------------------------
精心收集
精心编辑
精致阅读
如需请下载!