﻿<?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-java 友人帮-文章分类-java 设计模式</title><link>http://www.blogjava.net/jzone/category/39664.html</link><description>java web, java wap</description><language>zh-cn</language><lastBuildDate>Mon, 08 Jun 2009 01:24:19 GMT</lastBuildDate><pubDate>Mon, 08 Jun 2009 01:24:19 GMT</pubDate><ttl>60</ttl><item><title>设计模式 ---基础一</title><link>http://www.blogjava.net/jzone/articles/280102.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Thu, 04 Jun 2009 15:25:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/280102.html</guid><wfw:comment>http://www.blogjava.net/jzone/comments/280102.html</wfw:comment><comments>http://www.blogjava.net/jzone/articles/280102.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jzone/comments/commentRss/280102.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jzone/services/trackbacks/280102.html</trackback:ping><description><![CDATA[Gamma, Helm和Johnson Vlissides简称Gang of Four(四人帮),缩写GoF编著的《Design Patterns》，GoF的《设计模式》是所有面向对象语言(C++ Java C#)的基础，只不过不同的语言将之实现得更方便地使用。
<img src ="http://www.blogjava.net/jzone/aggbug/280102.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-06-04 23:25 <a href="http://www.blogjava.net/jzone/articles/280102.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Factory 模式</title><link>http://www.blogjava.net/jzone/articles/279466.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Mon, 01 Jun 2009 13:27:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/279466.html</guid><wfw:comment>http://www.blogjava.net/jzone/comments/279466.html</wfw:comment><comments>http://www.blogjava.net/jzone/articles/279466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jzone/comments/commentRss/279466.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jzone/services/trackbacks/279466.html</trackback:ping><description><![CDATA[工厂模式&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;FACTORY一追MM少不了请吃饭了，麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西，虽然口味有所不同，但不管你带MM去麦当劳或肯德基，只管向服务员说&#8220;来四个鸡翅&#8221;就行了。麦当劳和肯德基就是生产鸡翅的Factory &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 工厂模式：客户类和工厂类分开。消费者任何时候需要某种产品，只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时，工厂类也要做相应的修改。如：如何创建及如何向客户端提供。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FACTORY &nbsp; METHOD—请MM去麦当劳吃汉堡，不同的MM有不同的口味，要每个都记住是一件烦人的事情，我一般采用Factory?Method模式，带着MM到服务员那儿，说&#8220;要一个汉堡&#8221;，具体要什么样的汉堡呢，让MM直接跟服务员说就行了。 &nbsp; <br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 工厂方法模式：核心工厂类不再负责所有产品的创建，而是将具体创建的工作交给子类去做，成为一个抽象工厂角色，仅负责给出具体工厂类必须实现的接口，而不接触哪一个产品类应当被实例化这种细节。" 
<img src ="http://www.blogjava.net/jzone/aggbug/279466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-06-01 21:27 <a href="http://www.blogjava.net/jzone/articles/279466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Singleton 模式</title><link>http://www.blogjava.net/jzone/articles/279465.html</link><dc:creator>Gavin.lee</dc:creator><author>Gavin.lee</author><pubDate>Mon, 01 Jun 2009 13:25:00 GMT</pubDate><guid>http://www.blogjava.net/jzone/articles/279465.html</guid><wfw:comment>http://www.blogjava.net/jzone/comments/279465.html</wfw:comment><comments>http://www.blogjava.net/jzone/articles/279465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jzone/comments/commentRss/279465.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jzone/services/trackbacks/279465.html</trackback:ping><description><![CDATA[<p>单态类概念：Singleton 是一种创建性模型,它用来确保在整个软件系统中，某个类只产生一个实例,并提供一个访问它的全局访问点.对一些类来说,保证只有一个实例是很重要的,比如有的时候,数据库连接或 Socket 连接要受到一定的限制,必须保持同一时间只能有一个连接的存在.再举个例子,集合中的 set 中不能包含重复的元素,添加到set里的对象必须是唯一的,如果重复的值添加到 set,它只接受一个实例.JDK中正式运用了Singleton模式来实现 set 的这一特性,大家可以查看java.util.Collections里的内部静态类SingletonSet的原代码.其实Singleton是最简单但也是应用最广泛的模式之一,在 JDK 中随处可见.<br />
<br />
单态类的特性：<br />
1、单态类只可有一个实例。 <br />
2、它必须自己创立自己这唯一的一个实例。<br />
3、它必须给所有其它的类提供自己这一实例。 <br />
<br />
饿汉式：<br />
public class EagerSingleton {<br />
&nbsp;&nbsp;&nbsp;&nbsp;private static final EagerSingleton instance = new EagerSingleton();<br />
&nbsp;&nbsp;&nbsp;&nbsp;private EagerSingleton() { }<br />
&nbsp;&nbsp;&nbsp;&nbsp;public static EagerSingleton getInstance() {<br />
　&nbsp;&nbsp;&nbsp;&nbsp;return instance;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
懒汉式：<br />
public static LazySingleton getInstance(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;private static LazySingleton m_instance = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;private LazySingleton(){}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;public static synchronized LazySingleton getInstance() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(instance == null)&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instance = new LazySingleton();<br />
　&nbsp;&nbsp;&nbsp;&nbsp;return m_instance;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
其实学了一点java的初学者，写一个单态类，是绝对没问题的，但是想用好它，好像就没那么简单了，<a href="http://www.uml.org.cn/sjms/200903103.asp">http://www.uml.org.cn/sjms/200903103.asp</a> 这篇文章写的非常好。先到这里，以后等摆脱菜鸟的称号了再来仔细想想单态模式。期待中&#8230;&#8230;<br />
</p>
<img src ="http://www.blogjava.net/jzone/aggbug/279465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jzone/" target="_blank">Gavin.lee</a> 2009-06-01 21:25 <a href="http://www.blogjava.net/jzone/articles/279465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>