- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java-多线程编程中的设计模式-开篇
Java-多线程编程中的设计模式-开篇
Java 多线程编程中的设计模式 开篇Java 多线程编程中的设计模式 开篇
lt;放水开始gt;什么是模式?有太多的介绍模式的书,似乎用不着我再来给模式下一个定义.正如什么是道?除了老子有权解释,其他任何试图向别人解释什么是道的人,其实根本就不懂道!更别说什么初论,再论,三论,x论,末流之论也.你不论说明你还懂一些,如果你论,说明你根本就不懂道.因为老子已经说得非常清楚:道可道,非常道!
那么我们是否已经陷入了不可知论?非也.不可道之道,是真正的大道.大道虽然无形,但每个人对它的感受是有形有,我们在向别人说明时其实说的是你quot;自己对道的感觉quot;,无论你如何论道你的感觉都不代表真正的quot;道quot;.
因为每个人的感觉不同,所以尽管有很多人介绍过模式,我从中学习了很多我不知道的知识,但我有我的感受,我也有其它人不知道的知识,或者张狂一点说比某些人高明一些的知识,所以我要写我自己的模式系列.以我的观点而言:lt;放水暂停gt;
模式就是在某种特定环境中,经常多次发生的问题的通用解决方案.
环境,或说背景,用Java术语说是Context.问题里面还包含可以解决问题的外力条件(force),多个外力条件常常表现为quot;鱼与熊掌quot;的关系.
尽管目前真正介绍模式的书并不多,但在可见的介绍模式的书中,可以看到多数就是一本模式词典.设计模式中真正的知识在于[模式语言].
模式语言是模式的集合,集合的意思是集而合之,不是聚合.把多个相关的,相互作用的模式集而合之,并清楚地描述它们之间的关系.就是模式语言.
模式是对某一个或某部分问题的通用解决方法.而模式语言是对某一领域中多个相关的问题集的解决方案的集成.这不仅仅是程序设计和软件开发过程的问题,任何领域中,能够描述出原则,主次,方法,技巧的抽象集合都是模式语言.
如果你还要继续向下看,或者你还有兴趣看我的放水文章.那么请记住这句话:
[学会模式和自如地应用模式进行设计是完全不同的两回事],keep it in your mind!
lt;放水继续gt;记得在清华举行的中国软件业协会JAVA分成立大会上,我向Java程序员推荐过两本哲学的书.lt;lt;全息论gt;gt;,lt;lt;系统与层次gt;gt;.现在我再多加一本中科院哲学所刘长林先生的lt;lt;内经的哲学和中医学的方法gt;gt;
宏观与微观:很多时候,我在与一些朋友讨论一些quot;细节quot;的内容时,总有些人问quot;讨论这种问题对解决软件企业的实际问题有何意义?quot;,不客气地说,这些无知的话题决定了提问者本身就不可能有真正的解决quot;企业级应用问题quot;的能力.
作为一个建筑设计师,他自己当然不会去干抹水泥,码砖头这样的活.但他要比这些码砖头,抹水泥的小工更清楚每块砖头的强度,年限,每种水泥的凝固时间,粘度等细节参数.否则你的设计再好也只能建一个豆腐渣工程.
作为一个软件系统架构师,如果不懂你的coder在项目中使用的细节技术,重要组件,重要API实现你如何保证你的项目的性能和可靠性?难道真的靠默念口诀就能获得一种神奇的效果?
有人说quot;一个人一生的时间的有限的,把太多的时候花在这些细节上,我就没有更多的时间掌握好些最实用的如structs,spring,hb等quot;,那么我告诉你,如果你不了解最基础的东西,你学三个月structs,spring,hb,我只要一周会
比你掌握更深入,即使Upload这样的小工具,明知道smartUpload的Bug巨多,不好用,有几个人能自动手写出来?当我第一次使用时我就花了40分钟自己写了一个公开在bea论坛上经几年大家的试用还未发现bug,这就是quot;微观quot;的重要性.
quot;设计时脑子里只的模型,对象,实现时调试到汇编!quot;.
这是我一贯以求并一直坚持的架构原则.对于一个架构师而言,与程序设计相关的知识没有主要和次要之分,从单片机到汇编到到软件工程思想.都是你应该掌握的.听过撒贝宁讲背书的事,因为他老是不上课,所以复习时不知道哪里是老师划过的重点.好,那我把整本书作为重点背下来!
如何应用模式和模式语言?在你掌握了模式与模式语言的情况下,有三种应用水平:一是在学会了很多模式后在设计时总是想用上一些模式为了显示我懂设计模式,如果这样你还不如一点不懂设计模式.Just in time(需要的时候才去做)!二是在遇到类似问题时能熟悉应用现有模式,这是绝对大多数如我这类中人之资水平能做的事.总之quot;不会过日看邻居quot;一般是不会错的.三是一种因为掌握了很多模式的基础上,经过不断实践在需要解决问题时没有现成的模式可用时自己抽象出设计模式.相
原创力文档


文档评论(0)