利用OpenSouce学习模式 序言

学习模式的时候常常忽视模式出处,应用问题域。搞清一个模式,首先应该搞清他的由来,用来解决什么问题的,它的应用场合是什么样的。上文说过,模式就是一些“规章制度”而已,用来指导解决实际问题而已。我们应该尽量关注模式的应用场景。

    其实,我们常常提到的23中经典的模式只是在软件设计阶段用来解决特定问题的一种范式,在软件领域,这只是很小的部分。模式的概念在软件的开发周期几乎无所不在,如我们在开发企业应用开发中,常用到一个分层(Lay)概念,可以将软件分为两层,三层,多层等。这个层的概念就是模式。通常到三层架构体系来(Presentation,Domain,DataSource),用于解决BS软件的设计的常规设计,这也是模式。在Presentation lay中,我们经常应用到到MVC模式,而MVC模式的实现往往又是基于多个设计模式来实现,而设计模式,也可再拆解,这取决于你的问题域有多大,一般来说,分解到设计模式就不必再分了。模式可能是抽象的,用来表述某个概念,或方便交流;也可是是具体,解决程序的设计和实现问题。模式的概念往往是固定,而实现则是有多种多样,MVC模式用来解决数据如何显示和用户交互的导致数据变化的问题。它的实现在有多种方式,遇到简单的业务,MV的组合即可,不用C也可//TODO。

    总的来说,目前关于模式的讨论和研究,有如下几个方面【2】:

    程序设计模式:它是利用面向对象语言的类和方法来实现某个编程目标【1】。经典的就是GOF的23提及的23中设计模式,其实在一些论坛上,也有不少其他模式,目前权威的大约有100多种。大家可以参考《Design Pattern》

    体系架构:《Core J2EE Patterns: Best Practices and Design Strategies》介绍了19种J2ee常见模式

    对象建模:《Patterns of Enterprice Application Architecture》,《Object Model:strategies,Patterns》

    软件设计://TODO

    面向语言:各种语言体系中,设计模式的常规实现//TODO

   ...

   总之,模式的学习在不同问题域中,有着多样的理解。我们应该由宏观一步一步的走到具体的应用,模式的学习其实并不复杂,只要问题边界清晰,加之不断地理解,并付诸实践。

   下边的一些文章告诉大家如何在J2EE体系中理解模式,并以J2EE程序员经常接触到一些开源项目(Spring,Hibernate,Struts等)作为代码示范,来讲解模式。这样做一方面,大家能够在工作中了解,学习模式,另一方面,也希望帮助大家能更好的理解开源框架的机理,实现原理。希望大家能关注。

  

参考:

【1】 设计模式java手册 机械工业出版社 P3

【2】 设计模式java手册 机械工业出版社 P2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值