设计模式、重构-WEB架构师成长之路之一-by小雨

文章结束给大家来个程序员笑话:[M]

    本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在直一走着弯路,如果想成为一个架构师,就必须走准确的路,否则离目标越来越远,正在辛苦任务的程序员们,你们有没有面下几种觉感?

    一、              我的任务就是按时成完引导交给我的任务,至于码代写的怎样,道知有进改空间,但没时光去进改,关键是引导也不给时光啊。

    二、              我发明我的平水是总跟不上技能的步进,有太多想学的西东要学,Jquery用的人近来较比多啊,说听近来MVC较比火,还有LINQ,说听微软又有Silverlight了……

    三、              我发明虽然我任务几年了,除了不绝的coding,Ctrl+c和Ctrl+V更熟练了,但编码平水并没有高提,还是一个通普程序员,但有人已做到架构师了。

    四、              任务好几年了,想槽跳换个任务,结果试面的考官都问了一些什么数据结构,什么垃圾回收,什么计划模式之类的西东,虽然看过,但是平常用不着,看了也忘记了,答回不上来,结果考官说我基本太差。。。

    有没有,如果没有,接下来就不必看了,你必定是大拿了,或者已白明其中之道了,呵呵。

    如果有,祝贺你,你进入学习误区了,如果想在技能上前进的话,就不能直一的coding,为了成完需求而任务,必须在coding的同时,让我们的维思,平水也在不绝的高提。

    写码代要阅历面下几个阶段。

    一 、你必须学习面向对象的基本知识,如果连这个都忘了,那你的编程之路注定是在做原始级初的重复!

        很多程序员都道知类、法方、抽象类、接口等念概,但是为什么要面向对象,处好在哪里,要处理什么问题?只是白明念概,就是达表不清楚,然后在际实任务中也用不上,过了一段时光,面向对象的西东又糊模了,结果是大多数程序员用着面向对象的语言做着面向程过的任务,因此要学习面向对象,首先应当白明面向对象的的目是什么?

    面向对象的的目是什么?

    开辟语言在一直开展,从机器语言,到汇编,到高级语言,再到第四代语言;软件开辟法方在一直开展,从面向程过,面向对象,到面向方面等。虽然这些都在一直开展,但其所求追的目标却直一没变,这些目标就是:
   1.低降软件开辟的复杂度
   2.高提软件开辟的效率
   3.高提软件质量:可护维性,可展扩性,可重用性等。

         其中语言的开展,开辟法方的开展在1,2两条下面取得了极大的步进,但对于第3条,我们不能光期望开辟法方本身来处理。

    高提软件质量:可护维性,可展扩性,可重用性等,再体具点,就是高内聚、低耦合,面向对象就是为了处理第3条的问题。因此要成为一个好的程序员,最绕不开的就是面向对象了。

 

    二、 要想学好面向对象,就必须学习计划模式。

    定假我们了解了面向对象的的目,念概了,但是我们coding中程过却发明,我们的面向对象的知识乎似直一派不上用处,其实理道很简单,是因为我们不道知怎么去用,就像泳游一样,我们已白了明泳游的处好,以及泳游的几种姿势,狗刨、仰泳、蛙泳、自由泳,但是我们仍然不会泳游。。。。

    因此有了这些基本准则是行不的,我们必须有一些更细的准则去道知我们的计划,这就有了更基本的面向对象的五大准则,而把这几种准则更体具的用应到际实中来,处理际实的问题,这就是计划模式,因此要学好OO,必需要学习计划模式,学习计划模式,按巨匠的话说,就是在人类尽力处理的多许域领的胜利案方都来源于各种模式,育教的一个主要目标就是把知识的模式一代一代传下去。

    因此学习计划模式,就像我们在看天下顶级的泳游竞赛,我们为之狂疯,为之入神。

 

    三 学习计划模式

    正像我们并不想只是看别人演表,我们要自己学会泳游,这才是我们的的目在所。

    当我们看完几篇计划模式后,我们为之精神振奋,在新的coding的时候,我们是总想尽力的用上学到的计划模式,但是经常在误用模式,折腾半天发明是在脱裤子抓痒。。。

    当学完计划模式以后,我们又很惑困,觉感这些模式简直太像了,很多时候我们分不清这些模式之间到底有什么别区,而且白了明计划中程过的一个致命的西东--度过计划,因为计划模式要求我们高展扩性,高重用性,但是在需求提出之初,我们都不是神,除了依托从前的验经来判断外,我们不道知哪些地方要展扩,哪些地方要重用,而且从前的验经就必定是准确的吗?所以我们甚至不敢再轻易用计划模式,而是还直一在用面向程过的法方在实现需求。

 

    四 学习重构

 

    出色的码代是怎么想出来的,比看到出色的码代更加人令等待,于是我们开始思考,这些巨匠们莫非不必任务,需求来了没有引导划定成完时光,只以计划出色的码代为准标来开展任务?这样的任务太爽了,也可不能,老板不愿意啊。就算这些幻想的条件他都有,他就一开始就计划出完善的码代来了?也可不能啊,除非他是神,一开始就预料到来未的所有需求,那既然这些条件都没有,他们如何写出的出色码代?

    Joshua Kerievsky在那篇名著的《模式与XP》〔收录于《极限编程究研》一书)中白明地指出:在计划期前用使模式常常致导度过程工(over-engineering)。这是一个酷残的事实,单凭对完善的求追没法写出适用的码代,而「适用」是软件切一倒压的素要。

    在《重构-善改既有的码代的计划》一书中提到,通过重构(refactoring),你可以找出变改的平衡点。你会发明所谓计划不再是一切作动的提前,而是在全部开辟中程过逐步现浮出来。在系统修建中程过,你可以学习如何强化计划;其间带来的动互可以让一个程序在开辟中程过延续保有精良的计划。

    结总起来就是说,我们在计划期前就用使计划模式,常常致导计划度过,因此应当在全部开辟程过,全部需求更变中程过一直的重构在现的码代,才能让程序直一坚持精良的计划,由此可见,开辟中程过需要直一重构,否则无论初当计划如许的好,随着需求的变改,会都成变一堆烂码代,难以护维,难以展扩。所谓重构是这样一个程过:「在不变改码代外在行为的提前下,对码代做出修改,以进改程序的内部结构」。重构的目标,就是计划模式,更实质的讲就是使程序的架构更趋理合,从而高提软件的可护维性,可展扩性,可重用性。

    《重构-善改既有的码代的计划》一书也是Martin Fowler等巨匠的作品,软件程工域领的级超经典巨著,与一另巨著《计划模式》并称"软工双雄",可不不读啊。

 

    五 开始通往优良软件计划师的路上

 

    通过计划模式和重构,我们的所学和我们任务的coding终究结合上了,我们可以在任务中用面向对象的维思去虑考问题,并开始学习重构了,这就像泳游一样,我们看完了各种顶级的泳游竞赛,白明各种规矩,人名用使的法方和技能,在现是时候回家去村旁边的小河里练练了,训练也是需要有锻练的,推荐一另本经典书叫《重构与模式》,引用他开篇的绍介,本书首创性地深刻揭露了重构与模式这两种软件开辟关键技能之间的联系,说了明通过重构实现模式善改既有的计划,常常优于在新的计划期早用使模式。本书不仅展示了一种用应模式和重构的创新法方,而且有助于读者结合实战深刻解理重构和模式。

    这本书恰是我们需要的锻练,值得一读。

     

    六 没有终点,只有持坚不懈的专研和尽力

    经过了几年的持坚,终究学会了活灵的用应各种模式,我们不需要去锐意的想用什么模式,怎么重构。程序的目标,就是可护维性,可展扩性,可重用性,都已成了一种编程惯习,一种维思惯习,就像我们联系了几年泳游以后,我们不必再锐意的去虑考,如何让自己能在水上漂起来,仰泳和蛙泳的别区..... 而是跳进水里,就天然的游了起来,朝对岸游去。但是要和巨匠比起来,嘿嘿,我们还有很长的路要走,最终也可能成不了巨匠,但无论能不能成为巨匠,我们已走在了成为巨匠的准确的路上,我们和别的程序员已开始不一样,因为他们无论再过多少年,他们的平水不会变,只是在重复造轮子,独一比你快的,就是ctrl+c和ctrl+v。

    准确的路上,只要持坚,就离目标越来越近,来未就必定会是一个优良的架构师,和优良架构师的别区,可能只是时光问题。

 

    原文:http://www.cnblogs.com/seesea125/archive/2012/03/30/2425281.html

文章结束给大家分享下程序员的一些笑话语录: 人在天涯钻,哪儿能不挨砖?日啖板砖三百颗,不辞长做天涯人~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值