模式的基本概念

      在学习设计模式我们先应该学习一些模式的基础概念,这样再学习设计模式时会起到事半功倍的作用。以下的写模式的概念摘自《Java与模式》一书。

      首先,要说的一个词是模式化,模式化的过程是把问题抽象化,在忽略掉不重要的细节之后,发现问题的一般性本质,并找到普遍的解决方案的过程。

      那么什么是模式呢?我对书的解释进行了下总结。模式是描述具有代表性的问题和问题的答案。通常还要为这个问题和问题的答案去一个名字。

      接着我要了解为什么要使用模式,使用模式的最终结果是什么。书中引用了Alexander 在《建筑的永恒之道》书中提及质,门,道的观点来解释软件工程学。这里我不做解释只讲结论和自己的体会分享与大家,如果大家有疑问或有兴趣可直接参阅《Java 与模式》一书。

      质,我理解我软件的各种属性,如软件性能要求的可变型,软件的可用性,系统的扩展性(这些都是有名的质)等。而质分“无名的质”和“有名的质”。“无名的质”表示的软件与其他软件相互作用,软件与用户的相互作用。简单而言,就是软件与计算机外部世界的相互作用。之所以是“无名的质”它是在使用模式设计软件之前的属性。因而“有名的质”是使用了模式之后的软件所获得的新的属性。我想通过仔细的体会这还是很好理解的。

      门,在了解门之前我们先要知道气。气为何物?气是虚幻的,它是通过“形”来体现的。“形”即使软件工程学里的模式,那么气就很好理解,就是代码嘛。代码组合成了形。而根据形的尺度又可以在软件工程学分为:代码模式,由Java语句组成的“形”。设计模式,由类和对象组成的“形”。架构模式,由构建组成的“形”。

      道,是将“无名的质”转化为“有名的质”的方法。可以说如何通过各种各样的模式使软件具有了各种各样我们需要的属性的一种方法。这也就引出了软件的设计的永恒之道:软件的设计必须从软件的整体属性出发(“无名的质”),通过性能分化(设计模式),形成各个模块,各个用户界面,各个类,以及各个方法(这些就是“有名的质”)。

         

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值