重回故里 Java

不积跬步,无以至千里;不积小流,无以成江海
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于设计模式

Posted on 2009-04-20 23:59  .net 新生活 新旅程  阅读(113)  评论(0编辑  收藏  举报

设计模式在于你对面向对象的理解,不同的时期,对它的理解会有完全不同的感觉。
设计模式更体现的是一种软件面向对象编程的思想,而WEB开发、桌面程序、C/S、B/S、手机开发等等都是软件开发的某方面技术。这本身没有什么矛盾之处,不能说设计模式只适合谁,而不适合谁。
设计模式的应用可以说无处不在。
比如你平常一直在使用的foreach()语句,其实就是 迭代器模式(Iterator Pattern)的应用。
如果你熟悉DataSet的Clone()和Copy()方法,知道它们的区别,再去看看原型模式(Prototype),你就理解它们是非常典型的浅复制和深复制的差别。
如果你用过NHibernate,就知道它里面用了非常多的设计模式,如抽象工厂模式解决了ORM的多数据库兼容问题。
如果你的WEB中涉及到一些业务算法,而你又很熟悉设计模式,几乎不用思考就会想到策略模式。
当你在业务逻辑中存在多种状态,比如物流系统中一件商品有预订、进货、库存、出货、断货、报废等状态,而这些状态之间可能有多分支判断,你如何处理这复杂的多重判断呢。要知答案去看看状态模式吧。它的解决堪称完美。