当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

反情势可以若何提高编程[Java编程]

赞助商链接



  本文“反情势可以若何提高编程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  计划情势对软件开辟来说很重要,这一点从它在技术贸易新闻中所占的数目便可见一斑.不过,鉴于其在开辟历程中的实用性,计划情势只办理了问题的一半.反情势 ― 描写"对产生绝对负面后果的问题的一种常用办理筹划" ― 旨在通过向 Java 程序员展示若何避免常见的 Java 陷阱来办理问题的另一半.

  利用计划情势反复成功战略

  我在察看周界瀑布上的漂泊时,想起了我所理解的事情.从和别人的说话中,我理解到全部成功的漂泊都是从第三个狭缝的右侧过去的,并且我必须快速地冲过激流,以避免碰上瀑布下浅水上面的石块.这些经验加强了我的信心,我不再理睬旋涡的危险,冲进了激流的骨干道.

  固然我在这些情势的术语中并没有考虑到这一点,我还是在利用计划情势.我将自己的战略成立在那些在我之前成功地通过激流的漂泊者的经验之上.计划情势赐与我信心,使我可以通过一个本来超越我技术水平之上的激流.我常常将这些相同的原理利用到编程和体系构造中;您可以通过察看一个战略反复的成功后果来学着办理给定的问题.有了计划情势,后果是必定的.您可以操纵自己的经验、观赏导师,或是从书上学习专家是若何做的.

  我们的编程本领中很多最重要的先进之处就是来自于计划情势.模子-视图-掌握器(Model-View-Controller)情势指导我们有效地分割代码,在用户接口和模子之间定义一个杰出的边界.公布-定阅(Publish-Subscribe)计划情势指导我们如安在不广播事件的情形下管理它们.别的的计划情势对各种 Java 框架产生了深远影响:用于远程通信的代理 EJB 接口、调集类、Swing 框架和很多别的框架.

  我非常喜好构建可反复历程.从这一点来说,计划情势可以供应很多好处.计划情势逼迫您考虑将问题分割成份立的子问题,此中有一些可以操纵可反复办理筹划来办理.计划情势还逼迫您考虑若何正式地表示和传达计划经验,从而使别的人可以操纵您的成果.

  但是计划情势还不是充足的.假如您将编程问题想象成一个必须穿过的区域,那么计划情势最多只是一张部分地图.毕竟,假如已经存在一个完善的办理筹划可以满意您的需求,您大概就会直接去买,而不是自己构建了.此外,随着支持的软件不断发展,底子构造 ― 地图上已有的道路 ― 也在疾速地改变.部分地图可以指引您避开某些危险,但不是全部危险.您将必须在地图之外的区域冒险,才能到达目的地.那么,假如丢失了方向,您会怎么做呢?

  利用反情势避免落入痛楚的陷阱

  我在激流中调整方向时,水流将我推向左边.橡皮艇漂泊者必须洞悉高难度激流中的危险之处,我在这点上完成了要求.我知道在我之前有一些漂泊者漂到左边并翻了船,并且我已经考虑过,并在脑海中操练了办理此问题的办法.经过此番预备,我奋力地划浆,将橡皮艇恢复到本来的方向.目前我有了一步一步战胜艰难的机会.

  下面是在反情势中考虑这个问题的方法:我从一个很难的问题开始.按照别的成功的办理筹划,我挑选一个筹划:我的计划情势.我的筹划出了问题,但我有所预备,通过在我的激流中解析别的失利的漂泊作出呼应:我在利用反情势.因为我有所预备,所以看出了问题,并调整我的办法以回到正途:我在重构.在高难度的橡皮艇漂泊和编程中,从自己的错误中学习都是很有代价的,但也很痛楚.我更甘愿从别人的错误中学习.利用这种办法,我就可以够试着办理普通远远超越我本领范围的问题了.

  Antipatterns: Refactoring Software, Architectures, and Projects in Crisis一书的作者这样定义了反情势:

  反情势是描写对产生绝对负面后果的问题的一种常用办理筹划的字面情势.

  这里的关键词是:

  字面情势:反情势是问题的描写,而不是代码的描写.这非常重要,因为我们可以疾速和有效地传送消息,而客户可以疾速地理解.

  常用:假如它不是情势,那它就不是反情势.您必须成立几个差别的运行较差的行为实例,最好是在差别的环境中,这样才能使错误上升到反情势的级别.

  负面后果:计划必须有可以察看的、负面的效应.

  最闻名的反情势 Y2K 向我们展示了这个冲动人心的新范畴的危急和出路.回想起从前,不计其数的开辟者将日期编码成两位数字而不是四位数字,错误地对比这些数字就会招致数以万计的错误.很多出色的研究者都预言这个问题将会泛滥成灾,但是经过人们对问题的深化研究,新的标识和重构技术已经很有效地改正了代码,以至于很少有人会碰到预言中那么多的问题.反情势近似于计划情势,是反复利用的办理筹划.辨别在于反情势有负面后果.当您为反情势做文档时,您将但愿获得至少下面这些元素:

  名称:有时刻反情势大概已经有一个或多个非正式的名称,这是由开辟社区给出的.别的情形下,您就会但愿自己挑选一个名称.这个名称应当具有描写性,并且要简单.

  问题:问题描写了反情势有缺陷的办理筹划,以及差遣开辟者走向有缺陷的办理筹划的推动因素.这个描写指导其他人若何找到问题.

  重构的办理筹划:反情势有效的范围是:可以帮忙我们从陷阱中摆脱出来,大概完好避免这些陷阱.重构的办理筹划是指导别的人若何改正问题的指南.

  别的成功利用反情势的行业

  很多别的行业 ― 最值得注意的是制造业 ― 利用某种情势的反情势,普通都是与计划情势相结合利用.当前的制造业者不遗余力地效仿别的同行成功的历程改良.比方当即(Just-in-Time)"计划情势".当即制造是一种历程,它答应用削减库存和快速改正来办理质量问题,从而提高质量.历程中每个持续的步骤都利用由前一步当即递交的装配件.全部主要的汽车制造业者目前都利用这种技术.制造业者还采取了别的计划情势举行装配组织、测试以及数据汇集.最好的制造业者并没有在这里阻滞不前.他们还熟习到对发现系统历程弊端的需求.近似于 Zero Defects 和 Quality Circles 这样的程序让车间中的蓝领工人周期性地花一点时间谈论系统历程问题,以及若何尽大概地避免问题呈现.普通的程序都可认为雇主节俭大量保护所需的时间.行业中反情势的别的示例还包含:

  保健行业,研究者在这里查找和公布不良的饮食习惯,然后好的医生会利用这些信息来指导病人若何改变惹起疾病的本源,而不但仅是症状.

  法律履行,警官在这里与社区合作,肯定和预防治安不良区域中的犯罪本源.这些程序可以明显地削减福寿膏服用和暴力犯罪的情形.

  出版行业,经过十多年对作者的忽视之后,最成功的出版商再次与作者以精密地搭档关系彼此合作.这种搭档关系有助于作者肯定和改正不良写作习惯,从而写出更好的书.最成功的技术读物出版商就利用这种办法,而别的出版商正在效仿.

  

  辨认问题.在 Java 编程中,问题大概是错误、性能问题、难于保护的类,或是不断增大的内存占用量.

  成立情势.假如您是一名软件工程专业的学生,那么您就会知道,随着您不断深化开辟周期,改正一个错误的开销将呈指数上升.当您成立问题的情势时,您就给了自己在开辟周期的更早阶段辨认和改正更多问题的机会,您的得到也将数以倍计.使这个代价链向上移动的关键就在于成立情势,然后尽大概遍及地按照反情势操作.

  重构代码.在这一步中,您将重构招致问题的代码.这一步是一个简单的错误改正,它实用于您迄今为止辨认出的全部问题实例.您应当花时间去做一个完好的改正,而不是仅仅打一个补钉了事,假如错误大概会呈目前同一位置,您还应当增添文档.您还会但愿对各个步骤作出文档,从而将办理筹划分发给别的人.

  宣扬办理筹划.您在这里确保碰到问题的别的人晓得若何改正问题,并确保大概碰到陷阱的别的人知道要避开它.公布反情势可以更遍及地传达反情势的好处.

  改正历程.您在这里构建一个离隔反情势保护性的屏障.改正可以采取很多差别的方法.改良测试案例可以快速地辨认衰退.改正每日历程或通信渠道可以在问题发生之前预防它们.增补编码尺度几近可以消除某些范例的编码错误,如关于安排花括号或注释的错误.

  这些步骤采取的办法是从特定到普通.您找到错误,然后成立情势、改正错误,最后改正历程.将此中某些步骤与您的平常例行工作相结合可以使您成为更好的程序员.但是,请不要在这里停下来.请操纵您的反情势知识来改正历程,持续使代价链向上移动,并让您整个公司的程序员都变得更棒.您还可以公布反情势帮忙您乃至不熟习的程序员.假如您是一名程序员,并且是计划情势的爱好者,我保证您会发现反情势可以供应的不止这些.


  以上是“反情势可以若何提高编程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 反情势可以若何提高编程
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .