设计模式
文章平均质量分 83
zhuxuanzhu
这个作者很懒,什么都没留下…
展开
-
初学设计模式(0)-----策略(虽被遗弃,确实万物起源,故谓之0)
曾经看到一位大牛说,学技术最好的方式之一,就是把学的东西写下来,而且还得写到通俗易懂,不仅仅只是一份技术文档或者一份读书笔记。于是,开通了自己的博客,写下这第一篇技术博客。这几天过年在家,却是闲着略蛋疼,之前在一家外企和一个小创业公司呆了半年,技术磨练到没多少,却是认识到了很多开发中遇到的问题,尤其是后期维护,和面对不断改变的需求,作为一名实现设计的实践者而不是设计产品的思考者,“卧槽”的感叹原创 2013-02-13 19:43:55 · 357 阅读 · 0 评论 -
初学设计模式(1)-----监视者(兽人苦工)
跟随九天玄女的练级之路并不如想象中的那么轻易,尤其是那些心法,晦涩难懂,更别说应用到实际。但即便这么说,总有一天你会发现,原来自己等级已经那么高了,终于可以开始raid了!!!开始今天的总结吧。心法(1):监视者。English name is:Observer. 但其实我更愿叫他,兽人苦工(最爱说的那句,CaoNiMa)。为什么呢,后面我会解释。而现在,我想每位实践者当看到或者发现一个新原创 2013-02-13 21:04:08 · 709 阅读 · 0 评论 -
初学设计模式(2)-----工厂模式(此心法共分2层)
又是一天的修炼,今日主题是工厂模式-----Factory Pattern工厂模式是一个很有意思的模式,因为它和另一个模式,装饰者模式,有着血缘关系,但是应用和表现形式都有着不同。其实在此之前本该先写装饰者模式-----Decorator Pattern,但是在看完这两个模式之后,决定先写工厂,主要装饰者的弊处不小,需要整合其他模式一起使用方显威力,不然其带来的不便甚至会是一场灾难。这里先原创 2013-02-14 21:42:03 · 408 阅读 · 0 评论 -
初学设计模式(3)-----单例模式(在研究单例的线程安全问题时,发现一篇很全面的文章,直接转了)
单例模式最要关心的则是对象创建的次数以及何时被创建。 Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoad转载 2013-02-16 23:50:59 · 452 阅读 · 0 评论 -
初学设计模式(4)-----命令模式
时隔多日,最近忙于找工作和面试,一直没时间潜心看书和写博客,现在终于有时间了。心法(4):命令模式。首先为了理解某个设计模式,必须得先明确,设计模式并是为了减少我们的代码书写量,也不是为了让程序更加智能化,而是为了让类和类之间的关系尽可能的低耦合,也就是,任何一个类的修改,都不会影响其他与之相关的类,对于单个类而言,则是,尽可能的高内聚,任何一个模块的修改或者添加,都不用对已有的类进行内部原创 2013-02-21 15:44:18 · 276 阅读 · 0 评论 -
初学设计模式(7)迭代模式和组合模式
家里蹲了将近一个多月,终于找到一份新的工作,开始了另一端修行。这段时间里,通读了大半head first设计模式,如今已经看到了代理模式。看着自己知识的日积月累,心里也是各种欢喜,坚定了要一读到底的决心。(虽然实用与否依然需要项目的磨练)今天将之前没写的几个模式补上。首先来讲讲,跌到模式和组合模式。心法(8):迭代模式。说起这个迭代模式,其实跟我们平时用到的for循环很类似,应该说原创 2013-03-05 13:53:08 · 448 阅读 · 0 评论 -
初学设计模式(5)-----装饰模式
回顾之前学到的工厂模式,装饰模式也属于一种用于创建特定对象的模式。区别在于,工厂模式,通过一个Factory对象来创建我们所需的对象,并且,讲创建过程封装进对应的Factory中,在外层无需知道对象到底是如何创建出来的;而对于装饰模式,我们完全可以在最外层控制对象的创建过程;从某种层面说,装饰模式就像是制作一杯清咖啡之后,通过一层一层的包装往里面添加其他佐料,而工厂模式则讲这一过程封装进了实际工厂原创 2013-02-21 19:34:13 · 454 阅读 · 0 评论 -
初学设计模式(6)-----适配器模式,外观模式
Adapter Pattern,Facade Pattern。学习设计模式到现在为止10天了,这两个模式,是遇到的所有模式当中,个人觉得最容易理解的模式,无论是从其作用还是实现方式。心法(6):外观模式这里就对外观模式做个简单的说明,因为这个模式并不需要复杂的类型结构,它只是提供了一种简单的接口(或者是类),把所有子系统中的方法做一个整合(子系统是复杂的系统结构),然后对于client c原创 2013-02-23 23:25:35 · 314 阅读 · 0 评论