﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-The Programming world of Alex-随笔分类-设计模式</title><link>http://www.cppblog.com/qudeqing0204lyf/category/10130.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2009 11:33:08 GMT</lastBuildDate><pubDate>Wed, 15 Apr 2009 11:33:08 GMT</pubDate><ttl>60</ttl><item><title>设计模式之Builder模式 </title><link>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/14/79943.html</link><dc:creator>Alex@VCC</dc:creator><author>Alex@VCC</author><pubDate>Tue, 14 Apr 2009 13:51:00 GMT</pubDate><guid>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/14/79943.html</guid><wfw:comment>http://www.cppblog.com/qudeqing0204lyf/comments/79943.html</wfw:comment><comments>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/14/79943.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/qudeqing0204lyf/comments/commentRss/79943.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qudeqing0204lyf/services/trackbacks/79943.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Builder模式仍然属于创建型模式，主要体现了OO中&#8220;封装&#8221;和&#8220;多态&#8221;两个特性。还是引一个简单的例子来说明Builder模式的意义。假设我们设计的游戏中需要创建一个比较复杂的房屋对象，房屋对象有很多部分组成，比如说有门，窗户，墙，地板等等。当我们在将这个房屋实现之后，可能随着需求的改变需要对门进行更换，将原来的木门换成铁门。这时候的问题就是：如何改...&nbsp;&nbsp;<a href='http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/14/79943.html'>阅读全文</a><img src ="http://www.cppblog.com/qudeqing0204lyf/aggbug/79943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qudeqing0204lyf/" target="_blank">Alex@VCC</a> 2009-04-14 21:51 <a href="http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/14/79943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式之FactoryMethod模式</title><link>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/08/79290.html</link><dc:creator>Alex@VCC</dc:creator><author>Alex@VCC</author><pubDate>Wed, 08 Apr 2009 12:58:00 GMT</pubDate><guid>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/08/79290.html</guid><wfw:comment>http://www.cppblog.com/qudeqing0204lyf/comments/79290.html</wfw:comment><comments>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/08/79290.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/qudeqing0204lyf/comments/commentRss/79290.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qudeqing0204lyf/services/trackbacks/79290.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: FactoryMethod模式属于23种设计模式中的创建型模式，解决的是如何&#8220;new&#8221;的问题。引例：还是先从简单的例子入手FactoryMethod模式吧，现在需要一个汽车测试的环境来对汽车进行测试，我们很容易会这样设计&nbsp;1/**///////////////////////////////////////////////&nbsp;2//汽车类&nbsp;3...&nbsp;&nbsp;<a href='http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/08/79290.html'>阅读全文</a><img src ="http://www.cppblog.com/qudeqing0204lyf/aggbug/79290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qudeqing0204lyf/" target="_blank">Alex@VCC</a> 2009-04-08 20:58 <a href="http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/08/79290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式之AbstractFactory模式</title><link>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79117.html</link><dc:creator>Alex@VCC</dc:creator><author>Alex@VCC</author><pubDate>Mon, 06 Apr 2009 13:20:00 GMT</pubDate><guid>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79117.html</guid><wfw:comment>http://www.cppblog.com/qudeqing0204lyf/comments/79117.html</wfw:comment><comments>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79117.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/qudeqing0204lyf/comments/commentRss/79117.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qudeqing0204lyf/services/trackbacks/79117.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 设计模式的目的就是尽量减少&#8220;变化&#8221;对程序的影响，尤其是对客户程序的影响。AbstractFactory模式作为创建型模式的一种，解决的就是&#8220;new&#8221;在变化中可能引起的问题。先来看看new有何种不好，举个创建汽车的车门的例子：很自然的一种想法是：Door *door = new Door();但是如果遇到创建老爷车的车门，创建现代车的车门，这段代码就无...&nbsp;&nbsp;<a href='http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79117.html'>阅读全文</a><img src ="http://www.cppblog.com/qudeqing0204lyf/aggbug/79117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qudeqing0204lyf/" target="_blank">Alex@VCC</a> 2009-04-06 21:20 <a href="http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式之Strategy模式</title><link>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79098.html</link><dc:creator>Alex@VCC</dc:creator><author>Alex@VCC</author><pubDate>Mon, 06 Apr 2009 07:21:00 GMT</pubDate><guid>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79098.html</guid><wfw:comment>http://www.cppblog.com/qudeqing0204lyf/comments/79098.html</wfw:comment><comments>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79098.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/qudeqing0204lyf/comments/commentRss/79098.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qudeqing0204lyf/services/trackbacks/79098.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Strategy模式是设计模式中非常常用的一种设计模式，甚至在你没有学习过设计模式之前就已经使用过这种模式。先看个简单的例子吧：比如说你要写个List的容器，需要有一个Sort方法。但是对于容器中不同类型的对象Sort方法可能会不一样，比如说Point类型可能根据point到原点的距离或者point的xy之和来比较大小。一种很自然的想法就是：1void&nbsp;sort()2{3&nbsp;...&nbsp;&nbsp;<a href='http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79098.html'>阅读全文</a><img src ="http://www.cppblog.com/qudeqing0204lyf/aggbug/79098.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qudeqing0204lyf/" target="_blank">Alex@VCC</a> 2009-04-06 15:21 <a href="http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/06/79098.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式之Observer模式</title><link>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/05/79048.html</link><dc:creator>Alex@VCC</dc:creator><author>Alex@VCC</author><pubDate>Sun, 05 Apr 2009 14:51:00 GMT</pubDate><guid>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/05/79048.html</guid><wfw:comment>http://www.cppblog.com/qudeqing0204lyf/comments/79048.html</wfw:comment><comments>http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/05/79048.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/qudeqing0204lyf/comments/commentRss/79048.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qudeqing0204lyf/services/trackbacks/79048.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 引例：银行现在的业务大多有提醒业务，比如我们用信用卡消费的时候银行会有短信通知和Email通知等方法立即提醒客户账户发生了变化。这就是典型的Observer模式，A（账户）发生变化之后通知B（手机）和C（Email），以后也许还会通知D（电话）等等。。。程序设计中也会遇到很多这样的问题，比如说MFC中的Document/View架构，Document中的数据变化会立即通知View的显示也相应变化，...&nbsp;&nbsp;<a href='http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/05/79048.html'>阅读全文</a><img src ="http://www.cppblog.com/qudeqing0204lyf/aggbug/79048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qudeqing0204lyf/" target="_blank">Alex@VCC</a> 2009-04-05 22:51 <a href="http://www.cppblog.com/qudeqing0204lyf/archive/2009/04/05/79048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>