对模式更深次的理解

来源:互联网 发布:matlab里面矩阵的点乘 编辑:程序博客网 时间:2024/04/30 08:32

       这学期很多的东西都没有学好,不知道其他人是怎么样的,我的计划到最后往往完不成。本来要学这个学那个的,到了结束的时候才发现什么都没有学好。:(

      在实验室做一些简单的图形方面的code,刚开始觉得这有什么的,一点技术含量都没有。随着对代码的感觉越来越深,才发现当时的想法确实有些莽撞。在看别人的代码总是这么清晰易懂,而自己的代码一塌糊涂的时候我们要思考的是我们到底欠缺些什么,我们欠缺的是大局的思维。到现在我身上还有以前的那种为coding而coding的心理,到现在看来这样的想法实在害人。前几天在改自己2个月前写的一个小组件,里面的低级错误和冗余代码让我举步维艰。甚至有了这样的想法,重写算了。当时的想法有点应付老板的意思,但是当时的感觉是不错的。但是现在如果要进行功能扩展的话,实在是累人,真的不如在重新写一个算了。套用一句话:代码充斥着坏味道。看设计模式,可能对于自己在全局上考虑的更远一些,在解决一些特定问题的时候更得心用手。不要奢望一下子就把所有的模式全部掌握,模式只能在真正使用的时候才能体会到他的优点。在看别人代码的时候如果对模式有些概念的话理解程序可能会更快一些。模式是教我们如何把代码组织的更容易扩展,更容易复用和维护。正因为需要这样的好处,在应用模式的地方我们绝大多数情况下都会找个中间层来达到这些目的。有了中间层,很容易把source和target进行解耦,以弱耦合代替强耦合,也更符合面向对象的封装原则。这种强耦合关系违背了类的封装原则,我们的类设计的时候应该是对外界知道的越少越好,而强耦合是背离这个原则的。这也是使用模式的一个好处吧。在实际的编码中,我们可能也在大量的使用模式,只是我们一直没有注意到而已,比如Observer模式。一个软件系统的一个对象的状态变化的时候,暮些其他的对象要做出相应的变化,为了是系统容易复用,我们经常是采用广播事件的方式来处理。而关心这个事件的对象来听听就是了。我要做的就是对来观察的对象发出个消息就行了。这好像就是我们平时常见的新闻发布会的形式把,你乐意来听就来听。我是不会单独去给你说我怎么怎么了,乐意来听就来,不来拉到,大家不伤和气,:)。模式看多了其实对很多事情也有很多理解了,他们都说模式是从建筑中受到灵感得来的,我现在也在怀疑了,怎么说是建筑呢,我们生活就是充斥着模式的阿。好像是模式来自于生活更确切些。(先写到这里,有空了接着罗啰嗦:))

原创粉丝点击