Java模式分析(一)

来源:互联网 发布:销售数据日语怎么说 编辑:程序博客网 时间:2024/05/16 10:10
   很多刚入门的java软件开发人员对java模式的理解还是很模糊,使用时过多去地去死搬硬套,没有从根本上去掌握模式的作用,我刚开始做设计时也有这样的感觉,在做了几年的软件架构设计之后,对java模式有一些自己的理解和看法,整理出来跟大家分享。

    首先,在分析Java模式之前我们要搞懂下面几个问题:
   1.什么是模式?
   2.什么是java模式?               
   3.为什么要学习Java模式?

    问题1:什么是模式?

   关于模式的定义,大家可以从网上找到相关的理论定义,这里我借用阎宏的<<java与模式>>书中的定义,模式就是“人们在自己的环境中不断发现问题和寻找问题的解决方案的时候,发现有一些问题及其解决方案不断变换面孔重复出现,但在这些不同的面孔后面有共同的本质,这些共同的本质就是模式”。

    可以这样理解,很多问题以及问题的解决方案在本质上都是相同的性质,例如我们高考备考时,老师经常给我们讲一些典型试题,通过理解这些典型试题达到解决这一模式的所有试题,以达到举一反三的作用。又例如我们的孙子兵法,三十六计,讲得就是一些共性问题的应对策略,模式就是对一性共性问题的概括总结。但模式不是公式,不能死搬硬套,那样的话,就会适得其反,要在理解模式的精髓基础上,再根据实际设计的要求,选用恰当的设计模式,这样有利于软件架构设计的质量。

  问题2:什么是java模式?

  Java模式就是模式在Java领域的应用体现,也就是根据历来软件设计的经验积累,对一些设计上的共性问题的合理的解决思路, 这些解决思路整理后就是Java模式,这些Java模式都是软件设计的精髓,要经过实践中的反复运用后,才能从根本上掌握它,从而达到对Java模式的运用自如,提高软件设计的质量。

  问题3:为什么要学习Java模式?

    为什么要学习Java模式,学习Java模式的最终目的是什么?这要从软件设计的目的说起,很多软件由于设计的质量不高,造成后期的维护成本增加,有些系统的维护成本甚至都超过了开发成本,这些都是因为软件的设计质量太差引起的,一个好的系统设计应追求系统的可扩展性、可插入性、灵活性。

  可扩展性就是指新的功能能很容易地加入到系统中;可插入性就是指可以很容易地将一个类抽出去,同时将另一个有同样接口的类加入进来;灵活性是指可以允许代码修改平稳地发生,而不会波及到很多其他模块。

  为了能使设计出来的系统具有可扩展性、可插入性、灵活性,我们要利用Java模式从历来设计总结出来的设计思想,再结合系统的实际要求,完成理想的软件设计。Java模式是我们在设计时可以参考的重要理论知识,但并不是问题的解决方案,不是万能钥匙,在理解java模式的知识基础之上,分析实际系统的要求和哪些Java模式有共性的地方,从而选择合适的Java模式来完成系统的设计方案。至此,我们为什么要学习Java模式,原因显而易见了。

  以上是对三个问题进行了分析总结,接下来我会继续分析java模式中的每个模式,通过理论知识,结合实际的应用例子,通俗易懂地整理Java模式。

  
        
原创粉丝点击