随笔分类 -  白话设计模式

摘要:结构型模式就这么结束了,行为型模式就这么开始了。首先就是最简单最容易最常用的Template Method模式。我们怎么定义 Template Method模式呢?简单来说,就是先定义一个骨架(框架开发者),然后具体的应用去实现(应用程序开发人员)这样一个骨架的具体内容,这就是模板方法模式(Template Method).在生活中的例子也有很多。我们上了大学学了一门专业课,比如汽车设计。那么我们... 阅读全文
posted @ 2008-12-27 14:55 GodSpeed 阅读(1362) 评论(1) 推荐(0)
摘要:很久没有写了,这段时间事情比较多,心情也不是特别愉快,所以学习都停滞了。昨天给我妈打了个电话,心情一下子好多了,决定要重新振作喽,呵呵 写的不好请大家多多包含啊 要是能给大家一点儿启发那我就高兴死了,如果没有也请大家轻点儿拍砖,希望和大家共同进步。谈起享元模式,可能大家都是听说过没怎么用过。确实,它更多的关注的是对系统性能的优化,减少对象内存占用量。主要做法就是把那些对象之间共享的部分抽取出来,在... 阅读全文
posted @ 2008-12-27 13:07 GodSpeed 阅读(1322) 评论(1) 推荐(0)
摘要:装饰者,什么是装饰者?它就是继承抽象对象,然后再组合这个抽象对象(既有IsA关系,又有HasA关系),此时,在装饰着里添加想要增加的行为,同时要实现具体的A的行为,这样就增加了新的功能。在构造装饰者时,初始化抽象对象。装饰着模式实现了在运行时动态扩展对象功能的能力,不需要单独使用继承来扩展功能,不会产生子类膨胀的问题。装饰者在外部扩展对象的功能,装饰者要知道这些待扩展的对象,而待扩展的对象是不知道... 阅读全文
posted @ 2008-09-20 00:21 GodSpeed 阅读(1964) 评论(7) 推荐(0)
摘要:转眼间,设计模式已经学了这么多了.我觉得,设计模式其实就是如何抽象的更合理,如何让使用和实现分离.这些做法让我们的软件更容易的应对变化,如此而已.前几天学的桥接模式.当变化面向两个或以上的维度时,我们采用组合抽象的方法来应对变化。什么组合抽象呢?让我们来看看桥接模式,你就知道了。当一个对象,它可能发生两种变化:A维度和B维度。那么,我们就把A抽象出来叫做AbstractA,把B抽象出来叫做Abst... 阅读全文
posted @ 2008-09-09 15:00 GodSpeed 阅读(2179) 评论(3) 推荐(0)
摘要:适配其实在生活中的例子很多。一个变压器就是最好的例子。我们不能要求供电局为了我们的随身听而把电压变成12V,只能使用一个变压器把220V的电转换成12V的。这就是个适配器的很好的例子。新的需求就是我们要12V的电,而原来的电只能提供220V,那么我们就定义一个接口叫做"12V电源使用",然后定一个Adapter变压器,里面接收(组合)了220V的电源,在里面经过一系列的动作以后,实现了"12V电源... 阅读全文
posted @ 2008-08-26 15:46 GodSpeed 阅读(1706) 评论(8) 推荐(0)
摘要:到今天为止把创建型的几种设计模式算是学完了,搞一段落.进行一下总结.时间比较短,还好创建型的比较简单,以后估计不会这么顺利了.由于没有真正的实践在项目中,所以到现在为止,我认为我还没有掌握,仅仅是对设计模式有些了解而已.人家说英语是说出来的,所以我也把我知道的关于创建型的设计模式的相关知识总结出来,供大家参考和讨论,希望能与各位同仁共同进步.创建型模式,主要用来解决new所带来的对象间的耦合关系,... 阅读全文
posted @ 2008-08-20 15:35 GodSpeed 阅读(2220) 评论(1) 推荐(0)
摘要:一直觉得设计模式是非常抽象的(事实上MS也是。。。),所以就想把它说的白话点儿,让人更容易理解。关于抽象工厂(Abstract Factory)模式,网上一个非常流行的例子,麦当劳和肯德基的故事。具体怎么说的我已经忘了,但是我想自己描述一遍,希望能让自己加深对设计模式思想的理解,也希望对大家有所帮助。 既然叫抽象工厂,那一定有工厂(废话)。那么我们可以认为麦当劳和肯德基就是生产食物的工厂,那么理所... 阅读全文
posted @ 2008-08-12 16:50 GodSpeed 阅读(3470) 评论(11) 推荐(0)