﻿<?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>BlogJava-路漫漫其修远兮，吾将上下而求索-随笔分类-Design Pattern</title><link>http://www.blogjava.net/fhtdy2004/category/39224.html</link><description>有些事,明明知道不会有结果，有些人,明明知道注定会错过</description><language>zh-cn</language><lastBuildDate>Wed, 12 Aug 2009 20:56:58 GMT</lastBuildDate><pubDate>Wed, 12 Aug 2009 20:56:58 GMT</pubDate><ttl>60</ttl><item><title>一句话总结GOF的23种设计模式</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282205.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Sun, 14 Jun 2009 11:28:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282205.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/282205.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282205.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/282205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/282205.html</trackback:ping><description><![CDATA[记录一下<br />
<p>一、创建型模式<br />
&nbsp;&nbsp;&nbsp; <span style="color: red">Abstract Factory</span>：提供一个创建一系列相关或相互依赖对象的接口，而无需指定它们具体的类。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Builder</span>：将一个复杂对象的构件与它的表示分离，使得同样的构建过程可以创建不同的表述。</p>
<p>&nbsp;&nbsp;&nbsp;<span style="color: red">&nbsp;Factory Method</span>：定义一个用于创建对象的接口，让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。</p>
<p>&nbsp;&nbsp;&nbsp;<span style="color: red">&nbsp;Prototype</span>：用原型实例指定创建对象的种类，并且通过拷贝这个原型来创建新的对象。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Singleton</span>：保证一个类仅有一个实例，并提供一个访问它的全局访问点。</p>
<p>二、结构型模式<br />
&nbsp;&nbsp;&nbsp; <span style="color: red">Adapter</span>：将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Bridge</span>：将抽象部分与它的实现部分分离，使它们都可以独立地变化。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Composite</span>：将对象组合成树型结构以表示&#8220;部分－整体&#8221;的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Decorator</span>：动态地给一个对象添加一些额外的职责。就扩展功能而言，Decorator模式比生成子类方式更为灵活。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Facade</span>：为子系统中的一组接口提供一个一致的界面，Facade模式定义了一个高层接口，这个接口使得这一子系统更加容易使用。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Flyweight</span>：运用共享技术有效地支持大量细粒度的对象。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Proxy</span>：为其他对象提供一个代理以控制对这个对象的访问。</p>
<p>三、行为型模式<br />
&nbsp;&nbsp;&nbsp; <span style="color: red">Chain of Responsibility</span>：为解除请求的发送者和接受者之间耦合，而使多个对象都有机会处理这个请求。将这些对象连成一条链，并沿着这条链传递该请求，直到有一个对象处理它。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Command</span>：将一个请求封装为一个对象，从而使你可以用不同的请求对客户进行参数化；对请求排队或记录请求日志，以及支持可取消的操作。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Interpreter</span>：给定一个语言，定义它的文法的一种表示，并定义一个解释器，该解释器使用该表示来解释语言中的句子。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Iterator</span>：提供一种方法顺序访问一个聚合对象中各个元素，而又不需暴露该对象的内部表示。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Mediator</span>：用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用，从而使器耦合松散，而且可以独立地改变它们之间的交互。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Memento</span>：在不破坏封装性的前提下，捕获一个对象的内部状态，并在该对象之外保存这个状态。这样以后就可以将该对象恢复到保存的状态。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Observer</span>：定义对象间的一种一对多的依赖关系，以便当一个对象的状态发生改变时，所有依赖于它的对象都得到通知并自动刷新。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">State</span>：允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Strategy</span>：定义一系列的算法，把它们一个个封装起来，并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Template Method</span>：定义一个操作中的算法的骨架，而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。</p>
<p>&nbsp;&nbsp;&nbsp; <span style="color: red">Visitor</span>：表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。<br />
</p>
<img src ="http://www.blogjava.net/fhtdy2004/aggbug/282205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-06-14 19:28 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]组合还是继承，这是一个问题</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282201.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Sun, 14 Jun 2009 11:04:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282201.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/282201.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/282201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/282201.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由模式谈面向对象的原则之多用组合、少用继承<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282201.html'>阅读全文</a><img src ="http://www.blogjava.net/fhtdy2004/aggbug/282201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-06-14 19:04 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/06/14/282201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中Singleton模式中的DCL问题</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/06/02/279640.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Tue, 02 Jun 2009 08:42:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/06/02/279640.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/279640.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/06/02/279640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/279640.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/279640.html</trackback:ping><description><![CDATA[占位
<img src ="http://www.blogjava.net/fhtdy2004/aggbug/279640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-06-02 16:42 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/06/02/279640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UML虚线箭头</title><link>http://www.blogjava.net/fhtdy2004/archive/2009/05/06/269144.html</link><dc:creator>Frank_Fang</dc:creator><author>Frank_Fang</author><pubDate>Wed, 06 May 2009 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/fhtdy2004/archive/2009/05/06/269144.html</guid><wfw:comment>http://www.blogjava.net/fhtdy2004/comments/269144.html</wfw:comment><comments>http://www.blogjava.net/fhtdy2004/archive/2009/05/06/269144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fhtdy2004/comments/commentRss/269144.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fhtdy2004/services/trackbacks/269144.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/fhtdy2004/archive/2009/05/06/269144.html'>阅读全文</a><img src ="http://www.blogjava.net/fhtdy2004/aggbug/269144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fhtdy2004/" target="_blank">Frank_Fang</a> 2009-05-06 08:46 <a href="http://www.blogjava.net/fhtdy2004/archive/2009/05/06/269144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>