<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>狂放不羁</title>
    <description>做事首先要有信心，而后是恒心，也少不了野心，当然还要有爱心。四心具备者，可谓准成功人士。。</description>
    <link>http://yuquan-nana.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>对DDD的感想。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/205590" style="color:red;">http://yuquan-nana.javaeye.com/blog/205590</a>&nbsp;
          发表时间: 2008年06月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: small;"> &nbsp;最近看了Eric Evans的DDD一书，有点感想，随便写一下。在DDD里一般把业务层分为应用服务处和领域模型层。应用服务是与具体的架构有关系的，而领域模型是独立与具体的架构的，是可以在不同的架构下移植的。就比如在EJB3.0中，我们的session bean，MDB等都可以做来实现应用服务层，而我们的业务核心可以放在领域模型层里，应用服务通过领域模型来实现具体的业务操作。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DDD中有实体，值对象，服务三种模型元素，有些对象我们需要跟踪它们的状态，那么就需要给它标识，这样它就是实体，有些对象我们不需要跟踪它的状态变化，它主要是用来描述系统状态的，那么就将它作为值对象，至于服务，也分为领域层服务和业务层服务，我们的业务逻辑是要放在领域层服务里，业务层的服务只是协调领域层的服务来完成业务操作。这样依赖我们的领域层通过实体，值对象，服务将是充血的。&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至于到底是充血还是贫血，要从整个领域层来考虑，不能片面的从个别模型元素来看待贫血还是充血。有些实体从代码级别看是失血的，但是从整个领域层的角度来看是充血的，而所谓的设计模式也正是让领域层充血的法宝。</span></p>
<p><span style="font-size: small;">&nbsp;</span></p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/205590#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jun 2008 01:01:44 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/205590</link>
        <guid>http://yuquan-nana.javaeye.com/blog/205590</guid>
      </item>
      <item>
        <title>关于jboss与j2ee1.4不友好的问题。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/195067" style="color:red;">http://yuquan-nana.javaeye.com/blog/195067</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天在做项目的时候，来了个奇怪的异常，具体异常如下：<br /><pre name="code" class="java">java.lang.LinkageError: loader constraint violation: </pre><br />google了一会发现原来是jboss的类加载器的问题。因为同一个类被不同的类加载器所加载导致的，所以要按照一下步骤来修改几个配置文件就OK了。<br /><br />First, edit the conf/jboss-service.xml file and set the NamingService CallByValue to true:<br /><br /><pre name="code" class="java">
&lt;mbean code="org.jboss.naming.NamingService"
       name="jboss:service=Naming">
    &lt;!-- The call by value mode. true if all lookups are unmarshalled using
      the caller's TCL, false if in VM lookups return the value by reference.
    -->
    &lt;attribute name="CallByValue">true&lt;/attribute>

      ...
&lt;/mbean>


</pre><br /><br /><br />Second, edit the deploy/ear-deployer.xml file and set the Isolated and CallByValue attributes to true:<br /><br /><pre name="code" class="java">

&lt;server>
   &lt;!-- EAR deployer, remove if you are not using ear deployments -->
   &lt;mbean code="org.jboss.deployment.EARDeployer"
      name="jboss.j2ee:service=EARDeployer">
      &lt;!-- A flag indicating if ear deployments should have their own scoped
      class loader to isolate their classes from other deployments.
      -->
      &lt;attribute name="Isolated">true&lt;/attribute>
      &lt;!-- A flag indicating if the ear components should have in VM call
      optimization disabled.
      -->
      &lt;attribute name="CallByValue">true&lt;/attribute>
   &lt;/mbean>
&lt;/server>



</pre><br /><br /><br />Last, edit the deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml file and set the Java2ClassLoadingCompliance and UseJBossWebLoader attributes to false:<br /><br /><pre name="code" class="java">

&lt;server>

   &lt;mbean code="org.jboss.web.tomcat.tc5.Tomcat5"
      name="jboss.web:service=WebServer">

      &lt;!-- Get the flag indicating if the normal Java2 parent first class
           loading model should be used over the servlet 2.3 web container first
           model.
      -->
      &lt;attribute name="Java2ClassLoadingCompliance">false&lt;/attribute>

      &lt;attribute name="LenientEjbLink">true&lt;/attribute>

      &lt;!-- A flag indicating if the JBoss Loader should be used. This loader
           uses a unified class loader as the class loader rather than the tomcat
           specific class loader.
      -->
      &lt;attribute name="UseJBossWebLoader">false&lt;/attribute>

        ...

</pre><br /><br /><br />注意：如果是在jboss-4.2.1.GA下，第三步可以不用改了，默认就是false.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/195067#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 02:03:17 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/195067</link>
        <guid>http://yuquan-nana.javaeye.com/blog/195067</guid>
      </item>
      <item>
        <title>Jboss下配置javamail的问题。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/194071" style="color:red;">http://yuquan-nana.javaeye.com/blog/194071</a>&nbsp;
          发表时间: 2008年05月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.今天在jboss下面发送电子邮件的时候，抛出了如下异常：<br /><pre name="code" class="java">[JmsServerSession] Unexpected error delivering message org.jboss.mq.SpyMapMessage {
Header { 
   jmsDestination  : TOPIC.EmailService
   jmsDeliveryMode : 2
   jmsExpiration   : 0
   jmsPriority     : 4
   jmsMessageID    : ID:5-12110906215461
   jmsTimeStamp    : 1211090621546
   jmsCorrelationID: null
   jmsReplyTo      : null
   jmsType         : null
   jmsRedelivered  : false
   jmsProperties   : {content=欢迎你注册为我们的会员, subject=欢迎你注册为我们的会员, from=yuquan@xmu.com, destination=yuquan_hg@163.com}
   jmsPropReadWrite: false
   msgReadOnly     : true
   producerClientId: ID:5
}
}
javax.ejb.EJBTransactionRolledbackException
	at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
	at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:245)
	at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
	at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
	at $Proxy121.onMessage(Unknown Source)
	at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:178)
	at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:891)
	at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
	at org.jboss.mq.SpySession.run(SpySession.java:323)
	at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:237)
	at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
	at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
	at com.sun.mail.handlers.text_plain.writeTo(text_plain.java:121)
	at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:868)
	at javax.activation.DataHandler.writeTo(DataHandler.java:301)
	at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:248)
	at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1268)
	at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
	at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
	at javax.mail.Transport.send(Transport.java:97)
	at com.bookshop.logic.serviceMDB.EmailServiceMDB.onMessage(EmailServiceMDB.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
	at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
	... 17 more</pre><br /><br />最终发现原来不小心没有设置content，结果content为null，所以把content设置好后就OK了。写下来让以后遇到此问题的弟兄们尽快解决。
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/194071#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 18 May 2008 14:08:06 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/194071</link>
        <guid>http://yuquan-nana.javaeye.com/blog/194071</guid>
      </item>
      <item>
        <title>地震伤亡情况统计。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/192580" style="color:red;">http://yuquan-nana.javaeye.com/blog/192580</a>&nbsp;
          发表时间: 2008年05月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>四川 (截至13日零点，近万人死亡)</strong><br /><br />北川 死亡7000余人 5-12 22:20 <br />德阳 超500人 5月13日上午 <br />成都 死亡323人，伤1059人 5-13 00:00 都江堰 死亡300余人 5月13日晨 <br />汶川 死亡56人，伤307人 5-12 23:04 <br />广元 死亡52人 5月12日晚 <br />茂县 死亡27人，伤327人 5-13 04:38 <br />雅安 死亡16人 5月13日晨 <br />资阳 死亡10人，伤86人 5-12 18:00 <br />眉山 死亡8人 5月12日晚 <br />阿坝州 死亡56人，伤679人 5-12 23:04 <br />遂宁 死亡7人 5月12日晚 <br />甘孜州 死亡5人 5月12日晚 <br />中江 死亡5人 5-12 18:00 <br />内江 死亡4人 5月12日晚 <br />松川 死亡3人 5月13日上午 <br /><br /><strong>全国 (截至13日7时，死亡9219人)</strong><br /><br />甘肃 死亡144人，伤280余人 5-12 23:15 <br />甘南 死亡2人 5-12晚 <br />陕西 死亡92人，伤718人 5-13 00:10 <br />西安 死亡16人 5-13 00:10 <br />汉中 死亡34人 5-13 00:10 <br />安康 死亡3人 5-13 00:10 <br />宝鸡 死亡26人 5-13 00:10 <br />咸阳 死亡13人 5-13 00:10 <br />湖北 伤12人 5-12 21:00 <br />重庆 死亡7人，伤30余人 5-12 21:00 <br />云南 死亡1人，伤9人 5-12 19:00
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/192580#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 May 2008 14:13:35 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/192580</link>
        <guid>http://yuquan-nana.javaeye.com/blog/192580</guid>
      </item>
      <item>
        <title>老天对中国真他妈太不公了。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/192526" style="color:red;">http://yuquan-nana.javaeye.com/blog/192526</a>&nbsp;
          发表时间: 2008年05月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          中国人到底做错了什么事情？妈的，什么祸事都发生妈的，老天，老子鄙视你。我发现人真是他妈不能太善良了，太善良了就连老天都欺负，中国人就是太善良了，妈的，老天，你他妈就是杀人犯，老子鄙视你。害死那么多中国人，阴魂也不绕你，妈的。
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/192526#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 May 2008 11:41:10 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/192526</link>
        <guid>http://yuquan-nana.javaeye.com/blog/192526</guid>
      </item>
      <item>
        <title>Jboss下面bean累JNDI的配置。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/191957" style="color:red;">http://yuquan-nana.javaeye.com/blog/191957</a>&nbsp;
          发表时间: 2008年05月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在做EJB的项目，总结一下Ejb在Jboss中部署问题。<br />在jboss下配置bean的JNDI名可以采取一下三种方式：<br />第一种：也是默认的,"beanname/remote"<br />第二种：使用@RemoteBinding注释。@RemoteBinding(jndiBinding="jndiName")<br />第三种：使用jboss.xml文件，此文件要放在src\META-INF目录下。具体内容见下面：<br /><pre name="code" class="java">&lt;jboss>
   &lt;enterprise-beans>
      &lt;session>
         &lt;ejb-name>BeanName&lt;/ejb-name>
         &lt;jndi-name>jnidname&lt;/jndi-name>
      &lt;/session>
      &lt;message-driven>

      &lt;/message-driven>
   &lt;/enterprise-beans>
&lt;/jboss></pre>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/191957#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 11 May 2008 17:19:44 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/191957</link>
        <guid>http://yuquan-nana.javaeye.com/blog/191957</guid>
      </item>
      <item>
        <title>捕获checked exception后什么都不做的代价</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/191404" style="color:red;">http://yuquan-nana.javaeye.com/blog/191404</a>&nbsp;
          发表时间: 2008年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: large">最近在做一个小项目，做到注册模块的时候，如果查询数据库后，发现用户名已经存在就抛出一个UserExistedException给业务委托层，结果我在业务委托里，捕获异常后什么都没有做，结果导致程序就卡在那里阻塞了，调试了很久没发现错误，一看代码发现自己犯了一个超级低级，不能容忍的错误，打算面壁思过一小时（o(∩_∩)o...哈哈），<span style="color: red">今天记死了，捕获异常后一定要做一点处理，不能什么都不错。</span></span>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/191404#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 09 May 2008 13:03:07 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/191404</link>
        <guid>http://yuquan-nana.javaeye.com/blog/191404</guid>
      </item>
      <item>
        <title>“cannot simultaneously fetch multiple bags”的解决方法</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/189507" style="color:red;">http://yuquan-nana.javaeye.com/blog/189507</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.LAZY)
private Collection&lt;CartItem> cartItems;
	
@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.EAGER)
private Collection&lt;BookOrder> orders ; </pre><br /><br />在用JPA进行注释时，如果一个实体里要映射多个集合实体时，我们不能把两个集合的的FetchType设置为EAGER,此时只能设置为LAZY,否则会报：cannot simultaneously fetch multiple bags。或者我们也可以借助:@IndexColumn
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/189507#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 20:28:01 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/189507</link>
        <guid>http://yuquan-nana.javaeye.com/blog/189507</guid>
      </item>
      <item>
        <title>J2EE业务层模式：服务门面，应用服务，以及业务委托，服务定位器</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/189491" style="color:red;">http://yuquan-nana.javaeye.com/blog/189491</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: small">现在J2EE领域无论是表现层，业务层还是持久层，框架满天飞，虽然说框架为我们省了很大的力气，但是我们还是需要掌握J2EE里面经常用到的一些模式，下面对J2EE领域业务层的几个模式做一个小的总结：<br />服务门面，应用服务，业务委托，服务定位器这四个模式是J2EE中经常要用到的几个模式，其中服务门面我们可以通过POJO或者是EJB中session bean来实现，应用服务就是与服务门面交互的具体的服务，服务门面去调用应用服务来获得相应的服务，这样就可以使得服务门面的业务逻辑和具体的服务相分离，实现低耦合高复用。现在再来说说业务委托，它是又业务层的人员来实现，并且暴露给表现层人员来使用，业务委托其实就是对具体的服务门面进行了封装，它把具体的业务逻辑委托给了服务门面，这样做的好处就是：表现层与业务层的耦合度更低，并且更重要的是我们可以利用它来缓存一些服务门面，这样也可以在一定程度上提高系统性能，说到这里，那么服务定位器又是用来做什么的呢？它其实就是业务委托用来查找所对应的服务门面的，一般情况下服务定位器实现为单例模式，但是现在也可以直接用IOC把服务门面注射到相应的业务委托里，从而使得业务代码更加干净。总体来说就是：表现层的Action来调用我们的业务委托，而业务委托使用服务定位器来实现服务门面的定位查找工作，并且把相应的业务逻辑委托给服务门面，而服务门面又会和具体的应用服务进行交互而获得相应的服务。</span>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/189491#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 19:37:56 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/189491</link>
        <guid>http://yuquan-nana.javaeye.com/blog/189491</guid>
      </item>
      <item>
        <title>webwork的property-driven 和model-driven的理解。</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/183418" style="color:red;">http://yuquan-nana.javaeye.com/blog/183418</a>&nbsp;
          发表时间: 2008年04月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          webwork2中有两种Action的驱动方式，它们就是property-drivern和model-driven，对于这两种方式来说，不同的人有不同的看发，我比较喜欢以model-driven的方式来实现property-driven.为什么这么说呢？在webwork中提供了ModelDriven这个接口，以此来实现Model-driven,其实这两者之间没有什么必然的联系，实现了model-driven后，只不过是将我们的model对象放在了valuestack中，这样就可以直接用模型对象的属性名来实现对模型对象属性的访问，但是我们完全可以不实现ModelDriven接口，我们照样也可以使用model对象来组织我们的数据，而这个时候因为值栈中只有Action对象，而没有model对象，所以我们不能直接用model对象的属性名来访问其属性了，而只能用model.property这种方式访问model的属性，这就好比是先调用action.getModel().getProperty或者action.getModel().setProperty()，所以ModelDriven接口与Action到底是不是模型驱动的没有什么必然的关系，即使不实现它，我们也照样可以用model实现Action.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/183418#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 16 Apr 2008 15:46:18 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/183418</link>
        <guid>http://yuquan-nana.javaeye.com/blog/183418</guid>
      </item>
      <item>
        <title>webwork2学习</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/181539" style="color:red;">http://yuquan-nana.javaeye.com/blog/181539</a>&nbsp;
          发表时间: 2008年04月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这段时间学习了一下webwork2,觉得此框架设计的满轻量的，它是在Xwork这个命令框架的基础上进行了web的MVC的封装。其中可以看到很多j2ee的模式：比如前端控制器，过滤器（在webwork中是拦截器interceptor）,context对象等。下面具体来总结一下：<br />    首先来看看web.xml文件，此文件里配置了web应用程序一些必要的配置。其中最重要的就是将所有的action都映射到ServletDispatcher这个类，此类其实就是一个前端控制器，当它接受到一个请求后，它会遍历HttpServletRequest,HttpSession,ServletContext里的数据，并把它们复制到webwork专用的map中，从此所有的操作都是基于这些webwork专门的map的，从而与servlet api进行了解耦，有利与测试，方便维护。其实仔细想象，webwork的工作其实就是将一些web有关的数据结构进行重组，从而使得xwork能够识别它们，并接手处理，所以webwork就是一个数据转换器。<br />    其次来看看xwork.xml，顾名思义，此文件是用来配置xwork框架的，它里面针对每个action可以映射它需要的interceptor，执行结果的映射等重要信息。下面来看看xwok具体是怎么执行action的，首先xwork需要创建action的代理：ActionProxy，而此代理是通过ActionProxyFactory的缺省实现类DefaultActionProxyFacory创建的，好了，现在创建好了action的代理了，下面怎么作呢？其实ActionProxy把调度任务交给了ActionInvocation,此类有个默认实现类DefaultActionInvocation,正是此类实现了Action的调度。其实ActionInvocation起的作用就和过滤器模式中过滤器链的作用一样，它负责Action对应的拦截器的调度，使得拦截起之间不需要彼此之间耦合，所有的拦截器都只和ActionInvocation打交道（调用AcionInvocation的invoke()方法）。
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/181539#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 11 Apr 2008 09:05:53 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/181539</link>
        <guid>http://yuquan-nana.javaeye.com/blog/181539</guid>
      </item>
      <item>
        <title>控制反转（IOC）的理解</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/179941" style="color:red;">http://yuquan-nana.javaeye.com/blog/179941</a>&nbsp;
          发表时间: 2008年04月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          控制反转模式是当今J2EE架构中常用到的模式之一，它符合好莱坞法则:不要调用我，我会调用你。在没有运用IOC的时候，我们一般都是通过工厂来管理对象，当我们需要一个对象的时候，我们通过工厂来创建它，这样就造成了业务代码和工厂的耦合,并且更重要的是需要我们自己来管理对象的生命周期，这样非常繁琐，所以如果我们运用IOC的话，不仅可以解除业务代码与工厂的耦合，而且不用我们进行生命周期管理，大大的减少了编码的工作量。如何实现IOC，现在大概有以下两种方式：<br />     第一：查找实现。此种实现方法需要一个注册表，当我们需要什么对象的时候，我们就去注册表里查找，不需要自己去创建。因为需要的对象是框架或者是容器帮我们管理的，这时就不需要我们来负责对象的生存周期等的问题。所以生存周期管理也就成了一个容器的必备的能力之一。比如EJB，它就是通过JNDI来查找我们需要的对象的。这样虽然使得我们不需要管理对象的生命周期，但是同时我们的业务代码还是和具体的注册表API相耦合，所以此种办法没有完全解耦。为了实现完全的POJO编程模型，需要采用以下的IOC方式（DI）。<br />     第二：依赖注射（DI），目前比较流行的是此种实现。依赖注射要求我们只需要声明要用到什么样子的对象，然后设置JavaBean的setter方法就OK了，在我们需要用到对象的时候，容器会帮助我们把需要的对象设置进来。或者也可以通过有参构造器来进行注射，通过依赖注射，我们的业务代码就不需要与具体的容器或者是框架耦合，我们可以完全采用POJO的编程模型。因为我们的业务代码没有与任何的容器相耦合，这样就可以使得代码可以在容器内或者容器外都可以运行，从而提高了复用性和可移植性，同时我们的测试也很容易实现。由此可见IOC给我们的开发带来的是革命性的变化。使得我们的业务代码与具体的容器的耦合度降到了最低的同时，也给我们的测试工作带来了便利。
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/179941#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 07 Apr 2008 00:00:27 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/179941</link>
        <guid>http://yuquan-nana.javaeye.com/blog/179941</guid>
      </item>
      <item>
        <title>EJB3.0&amp;EJB2.0</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/179449" style="color:red;">http://yuquan-nana.javaeye.com/blog/179449</a>&nbsp;
          发表时间: 2008年04月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在传统的EJB时代，EJB的架构过于复杂，并且在写EJB组件的时候，不仅要写业务Bean，而且开发人员还得写好Home，LocalHome,EJBLocalObject以及EJBObject这四个接口，这样以来就显得非常繁琐，开发人员不能把精力集中到对业务Bean的设计中。EJB3.0在架构上有了很大的改变，完全采用pojo的编程模型，在写EJB3.0组件时，不需要在写繁琐的非业务有关的接口了，而是可以把主要的精力集中到业务Bean上来，只要写一个业务接口就行了，其他的事情都交给EJB容器去做，这样就大大缩短了开发的周期。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/179449#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 04 Apr 2008 02:18:25 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/179449</link>
        <guid>http://yuquan-nana.javaeye.com/blog/179449</guid>
      </item>
      <item>
        <title>Three kinds of attributes in servlet</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/166585" style="color:red;">http://yuquan-nana.javaeye.com/blog/166585</a>&nbsp;
          发表时间: 2008年03月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          There are three kinds of attributes in the servlet api.they are seperated ServletContext attribute,ServletRequest attribute and httpsession attribute.they have different accessibility,scope and usage.as follows are they.<br />    First of all,we talk the ServletContext attribute ,any part of the web app could acess it,and its life is the web app's deployed life,only the server or the app goes down,the context could be destroyed,of course,including the attribute in the servletContext.<br />as for its usage,it can be used to store the resources which you <br />are intent to share in the entire app,for example,the JNDI lookup names,email address ,etc.In addition,we must be aware of ServletContext attribute being not thread safe. and we always synchronized the ServletContext,instead of synchronized the service method.<br />    Secondly,we step into the HttpSession .it can be asessed by any servlets or jsp which are related with the session.and as to the lifecircle,the session can be destroyed programaticallily,or time out.the session attribute can be used to store the resources which is related to the client's session.what'more,it also is not thread safe.so we also need to control the acess to it.we often synchronized the session..<br />    Finally,we are going to talk the last Request attribute.it can be acessed by any part of app which has a direct access to the request.the request object is destroyed after the service method  completes.it can be used to pass the model info from controller to <br />views.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/166585#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 02 Mar 2008 00:21:15 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/166585</link>
        <guid>http://yuquan-nana.javaeye.com/blog/166585</guid>
      </item>
      <item>
        <title>Today,i came to xi'an.`</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/162237" style="color:red;">http://yuquan-nana.javaeye.com/blog/162237</a>&nbsp;
          发表时间: 2008年02月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Yestarday,i left my home to go to college,after 16 hours' trip,i arrived at xi'an.in the train,i made serval friends who work in xi'an.<br />and i am going to take another train to XiMen.when i arrive at XiMen,it may be 6:00am at the day after tomorrow.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/162237#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 14 Feb 2008 15:09:53 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/162237</link>
        <guid>http://yuquan-nana.javaeye.com/blog/162237</guid>
      </item>
      <item>
        <title>A nonsense night </title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/160236" style="color:red;">http://yuquan-nana.javaeye.com/blog/160236</a>&nbsp;
          发表时间: 2008年01月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Tonight,i come to the silly net world.what'more ,i come arcoss a stupid man.he is very stupid,i just want to kick his ass.but i endured to him......
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/160236#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 30 Jan 2008 00:45:12 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/160236</link>
        <guid>http://yuquan-nana.javaeye.com/blog/160236</guid>
      </item>
      <item>
        <title>Head first design pattern(State pattern)</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/155727" style="color:red;">http://yuquan-nana.javaeye.com/blog/155727</a>&nbsp;
          发表时间: 2008年01月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          [u][/u]I read the State pattern in the Head first design pattern a few days ago,At the present,i will just sum it up. <br /><br />   Without state pattern,we just use "if-else" controlling construct to treat with the change of the object state,as this,the coupling is very high,when the requirment changes,  we  will  have to change a lot of code.Fortunately,we could use the state pattern to low the coupling.<br /><br />   Here is the offical defination,the state pattern allows an object to alter its behavior when its internal state changes.it use a state object to encapsulate the object's behavior.the state pattern encapsulate the altering parts to seperate the steady parts with them.<br />this pattern need state object to alter its behavior.the state object konw how to change to another state,what'more ,the state object contains the behavior with the state,so we can use the polymorphism to<br />change the behavior dynamicly
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/155727#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 14 Jan 2008 17:26:46 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/155727</link>
        <guid>http://yuquan-nana.javaeye.com/blog/155727</guid>
      </item>
      <item>
        <title>Head first design patterns(Adapter pattern )</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/149583" style="color:red;">http://yuquan-nana.javaeye.com/blog/149583</a>&nbsp;
          发表时间: 2007年12月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Recently,I have been reading the Head first design patterns,unconsciously,i have finish the seven chapters.and here i will review the whati just read tonight.<br />     Tonight,i read the seventh chapter of my love book at the schoollibrary.this chapter tells us about the Adapter and facade pattern,i felt very cool after get it .<br />     Frist of all,here is the offical definition of Adapter pattern,<br />the Adapter pattern converts a interface to another interface the client expect.what'more,this pattern lets the classes work together thatcould't otherwise because of the incompatible interfaces.as the Decorator,the Adapter also use the composition to work in java,but if the language support the mutiple inheritance,the Adapter pattern also could use the inheritance to work.what'more,this chapter also tells us another pattern --the Facade pattern.this pattern is also very usefull.it provide a unifined interface to a set of interfaces in a subsystem,and Facade defines a high level interface to make the subsystem easier to use.that is ,the facade pattern make a interface simpler.<br />    Finally,I will sum up the differences among the Decorator ,Adapter,and the facade patterns.The Decorator pattern adds responsibilitieswithout altering the interface,The Adapter pattern converts one interface to another.the facade ,howerver,provide a simple interface so that the subsystem could be used easier.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/149583#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 20 Dec 2007 01:06:45 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/149583</link>
        <guid>http://yuquan-nana.javaeye.com/blog/149583</guid>
      </item>
      <item>
        <title>One note of Head first design pattern(Command pattern)</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/147136" style="color:red;">http://yuquan-nana.javaeye.com/blog/147136</a>&nbsp;
          发表时间: 2007年12月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          I read the sixth chapter of Head first design pattern a few days ago.I want to review it at the present.<br /><br />    First,here is the official definition.The commond pattern enscuplates a request as a object ,thereby letting you parameterized other objects with the different requests,and support the undo operation.<br /><br />    This pattern decouple the invoker of a request and a receiver of a request.it encuplates the receiver of the request into the concretecommand object,what'more ,the concrete command class implements the command interface.as this,the invoker only corresponds with the command interface,and doesn't make attention to the receiver,in addition,the invoker also doesn't need to konw how the recevier carry out the request.<br />    <br />   The command pattern encuplates the method invocation,that is ,the exceute() method of command interface.and it also show us some oo design principle.such as favor composition than inhertiance,encuplate what varys,strive for the lossly coupling between objects.
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/147136#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 09 Dec 2007 23:36:22 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/147136</link>
        <guid>http://yuquan-nana.javaeye.com/blog/147136</guid>
      </item>
      <item>
        <title>one note of Head first design patterns(singleton pattern)</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/142784" style="color:red;">http://yuquan-nana.javaeye.com/blog/142784</a>&nbsp;
          发表时间: 2007年11月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>I read the&nbsp;singleto pattern&nbsp;with the &nbsp;head first&nbsp; design pattern yestarday evening.i will review it .</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; First of all ,we should konw about the offical definition of the pattern,here is it .the singleto</p>
<p>ensures that a class has only one instance, and provide a global point of access to it .it&nbsp; is used</p>
<p>to treat with the following&nbsp; situation.when we just need one instance of a class,what's more.the</p>
<p>object needs to be accessed at a global level.there are two forms about this pattern as follows:</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Singleto&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Singleto&nbsp;instance&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Singleto(){&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">synchronized</span><span>&nbsp;Singleto&nbsp;getInstance(){&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>(instance==</span><span class="keyword">null</span><span>){&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instance&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Singleto();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span class="keyword">else</span><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;instance&nbsp;;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>//the synchroinzed key ensure the only&nbsp;one instance at&nbsp;the&nbsp;mutilthread&nbsp;access.</span></li>
</ol>
</div>
<p>&nbsp;</p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-j">
    <li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Singleto&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Singleto&nbsp;instance&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Singleto()&nbsp;;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;Singleto(){&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;Singleto&nbsp;getInstance(){&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;instance&nbsp;;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/142784#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 22 Nov 2007 21:47:51 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/142784</link>
        <guid>http://yuquan-nana.javaeye.com/blog/142784</guid>
      </item>
      <item>
        <title>Today,I lost my bicycle again!</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/142453" style="color:red;">http://yuquan-nana.javaeye.com/blog/142453</a>&nbsp;
          发表时间: 2007年11月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Just now ,i lost my bicycle again ,this is my third bicycle.the first is broken with the collision with a truck.</p>
<p>and the rest were lost in less than 20 days.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The phenomenon&nbsp;of&nbsp; bicycle lose is very common at my university .i am a example .<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I wish that the university could manage the stitution .</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/142453#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 Nov 2007 23:41:01 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/142453</link>
        <guid>http://yuquan-nana.javaeye.com/blog/142453</guid>
      </item>
      <item>
        <title>one note of Head first design patterns(factory pattern)</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/142186" style="color:red;">http://yuquan-nana.javaeye.com/blog/142186</a>&nbsp;
          发表时间: 2007年11月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>I read the chapter 4 of head first design pattern just now.I just sum&nbsp; up my thought about the factory pattern.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The factory pattern contains three pattern in general.here are they.the first is simple factory,the second</p>
<p>is factory method pattern ,and the last is abstract factory pattern.the three factory pattern all encapsulate the</p>
<p>creation of the object to low the coupling .</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The factory method pattern define an&nbsp;interface for creating the objects&nbsp;,but lets the subclass decide&nbsp; which</p>
<p>object to create.&nbsp;so&nbsp;it lets a class&nbsp; defer instantiation to the subclass. and The abstract factory pattern provide</p>
<p>an interface for creating families of the related or dependent objects without specifying the concrete class .</p>
<p>what'more ,the abstract factory pattern use the factory pattern to create one concrete object of the family.&nbsp; in </p>
<p>addition,the abstract factory pattern show us a oo design principle -dependency inversion principle.this principle</p>
<p>require us to design my system like this.we should let both high level component and the low level component</p>
<p>depend the abstraction,not to let the high level component depend the low level component.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; </p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/142186#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 Nov 2007 00:25:28 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/142186</link>
        <guid>http://yuquan-nana.javaeye.com/blog/142186</guid>
      </item>
      <item>
        <title>My first Android programe!</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/141489" style="color:red;">http://yuquan-nana.javaeye.com/blog/141489</a>&nbsp;
          发表时间: 2007年11月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>Today,i writed my first Android programe with the google offical document! and I found it was very interesting.</p>
<p>The Android is not only a mobile phone open souce os,but also a mobie phone developing platform.i am very</p>
<p>interested in it.</p>
<p>the view is as follow:</p>
<p><a href="http://yuquan-nana.javaeye.com/upload/picture/pic/6203/2d69d7e9-baec-4f9d-be2f-5aaf0639380d.bmp"><img src="http://yuquan-nana.javaeye.com/upload/picture/pic/6203/2d69d7e9-baec-4f9d-be2f-5aaf0639380d.bmp" alt="" /></a></p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/141489#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 18 Nov 2007 12:26:19 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/141489</link>
        <guid>http://yuquan-nana.javaeye.com/blog/141489</guid>
      </item>
      <item>
        <title>面试中可能用到的英语</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/141327" style="color:red;">http://yuquan-nana.javaeye.com/blog/141327</a>&nbsp;
          发表时间: 2007年11月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Q： Can you sell yourself in two minutes？ Go for it. （你能在两分钟內自我推 <br />
荐吗？大胆试试吧！） <br />
A： With my qualifications and experience, I feel I am hardworking, <br />
responsible and diligent in any project I undertake. Your organization could <br />
benefit from my analytical and interpersonal skills.(依我的资格和经验，我觉 <br />
得我对所从事的每一个项目都很努力、负责、勤勉。我的分析能力和与人相处的技巧， <br />
对贵单位必有价值。) <br />
Q：Give me a summary of your current job description. (对你目前的工作，能否 <br />
做个概括的说明。) <br />
A：I have been working as a computer programmer for five years. To be <br />
specific, I do system analysis, trouble shooting and provide software <br />
support. (我干了五年的电脑程序员。具体地说，我做系统分析，解决问题以及软件供 <br />
应方面的支持。） <br />
Q：Why did you leave your last job？(你为什么离职呢？) <br />
A： Well, I am hoping to get an offer of a better position. If opportunity <br />
knocks, I will take it.（我希望能获得一份更好的工作，如果机会来临，我会抓 <br />
住。） <br />
A：I feel I have reached the &quot;glass ceiling&quot; in my current job. / I feel <br />
there is no opportunity for advancement. （我觉得目前的工作，已经达到顶峰， <br />
即沒有升迁机会。) <br />
Q：How do you rate yourself as a professional？(你如何评估自己是位专业人员呢 <br />
？) <br />
A： With my strong academic background, I am capable and competent. (凭借我 <br />
良好的学术背景，我可以胜任自己的工作，而且我认为自己很有竞争力。） <br />
A：With my teaching experience, I am confident that I can relate to students <br />
very well. (依我的教学经验，我相信能与学生相处的很好。) <br />
Q： What contribution did you make to your current (previous) organization？ <br />
(你对目前/从前的工作单位有何贡献？) <br />
A： I have finished three new projects, and I am sure I can apply my <br />
experience to this position. (我已经完成三个新项目，我相信我能将我的经验用在 <br />
这份工作上。) <br />
Q：What do you think you are worth to us？(你怎么认为你对我们有价值呢？) <br />
A：I feel I can make some positive contributions to your company in the <br />
future. (我觉得我对贵公司能做些积极性的贡献。) <br />
Q：What make you think you would be a success in this position？ (你如何知道 <br />
你能胜任这份工作？） <br />
A：My graduate school training combined with my internship should qualify me <br />
for this particular job. I am sure I will be successful. (我在研究所的训练， <br />
加上实习工作，使我适合这份工作。我相信我能成功。) <br />
Q：Are you a multi-tasked individual？(你是一位可以同时承担数项工作的人吗？) <br />
or <br />
Do you work well under stress or pressure？(你能承受工作上的压力吗?) <br />
A：Yes, I think so. <br />
A：The trait is needed in my current（or previous) position and I know I can <br />
handle it well. (这种特点就是我目前（先前）工作所需要的，我知道我能应付自 <br />
如。) <br />
Q：What is your strongest trait(s)？(你个性上最大的特点是什么？) <br />
A：Helpfulness and caring.（乐于助人和关心他人。） <br />
A：Adaptability and sense of humor.（适应能力和幽默感。） <br />
A：Cheerfulness and friendliness.（乐观和友爱。） <br />
Q： How would your friends or colleagues describe you？（你的朋友或同事怎样 <br />
形容你？） <br />
A： (pause a few seconds) (稍等几秒钟再答，表示慎重考虑。) <br />
They say Mr. Chen is an honest, hardworking and responsible man who deeply <br />
cares for his family and friends. (他们说陈先生是位诚实、工作努力，负责任的 <br />
人，他对家庭和朋友都很关心。) <br />
A：They say Mr. Chen is a friendly, sensitive, caring and determined person. <br />
(他们说陈先生是位很友好、敏感、关心他人和有决心的人。) <br />
Q：What personality traits do you admire？(你欣赏哪种性格的人？) <br />
A： (I admire a person who is）honest, flexible and easy-going. (诚实、不死 <br />
板而且容易相处的人。) <br />
A： (I like) people who possess the &quot;can do&quot; spirit. (有&quot;实际行动&quot;的人。) <br />
Q：What leadership qualities did you develop as an administrative personnel <br />
？(作为行政人员，你有什么样的领导才能？) <br />
A：I feel that learning how to motivate people and to work together as a <br />
team will be the major goal of my leadership. (我觉得学习如何把人们的积极性 <br />
调动起来，以及如何配合协同的团队精神，是我行政工作的主要目标。) <br />
A：I have refined my management style by using an open-door policy. (我以开 <br />
放式的政策，改进我的行政管理方式。) <br />
Q：How do you normally handle criticism？(你通常如何处理別人的批评？) <br />
A：Silence is golden. Just don't say anything; otherwise the situation could <br />
become worse. I do, however, accept constructive criticism. (沈默是金。不必 <br />
说什么，否则情况更糟，不过我会接受建设性的批评。) <br />
A：When we cool off, we will discuss it later. (我会等大家冷靜下来再讨论。) <br />
Q： What do you find frustrating in a work situation？(在工作中，什么事令你 <br />
不高兴？) <br />
A： Sometimes, the narrow-minded people make me frustrated. (胸襟狭窄的人， <br />
有时使我泄气。) <br />
A：Minds that are not receptive to new ideas. (不能接受新思想的那些取。) <br />
Q：How do you handle your conflict with your colleagues in your work? (你如 <br />
何处理与同事在工作中的意见不和？) <br />
A：I will try to present my ideas in a more clear and civilized manner in <br />
order to get my points across. (我要以更清楚文明的方式，提出我的看法，使对方 <br />
了解我的观点。) <br />
Q：How do you handle your failure？(你怎样对待自己的失敗？) <br />
A： None of us was born &quot;perfect&quot;. I am sure I will be given a second chance <br />
to correct my mistake. （我们大家生来都不是十全十美的，我相信我有第二个机会 <br />
改正我的错误。) <br />
Q：What provide you with a sense of accomplishment. （什么会让你有成就感？） <br />
A：Doing my best job for your company. (为贵公司竭力效劳。) <br />
A：Finishing a project to the best of my ability. (尽我所能，完成一个项目。) <br />
Q：If you had a lot of money to donate, where would you donate it to？Why？ <br />
(假如你有很多钱可以捐赠，你会捐给什么单位？为什么？) <br />
A：I would donate it to the medical research because I want to do something <br />
to help others. (我会捐给医药研究，因为我要为他人做点事。) <br />
A：I prefer to donate it to educational institutions. (我乐意捐给教育机构。) <br />
Q：What is most important in your life right now？(眼下你生活中最重要的是什 <br />
么？) <br />
A：To get a job in my field is most important to me. (对我来说，能在这个领域 <br />
找到工作是最重要的。) <br />
A：To secure employment hopefully with your company. (希望能在贵公司任职对我 <br />
来说最重要。) <br />
Q：What current issues concern you the most？(目前什么事是你最关心的？) <br />
A：The general state of our economy and the impact of China' entry to WTO on <br />
our industry. (目前中国经济的总体情況以及中国入世对我们行业的影响。) <br />
Q： How long would you like to stay with this company？(你会在本公司服务多久 <br />
呢？) <br />
A： I will stay as long as I can continue to learn and to grow in my field. <br />
(只要我能在我的行业力继续学习和长进，我就会留在这里。) <br />
Q：Could you project what you would like to be doing five years from now？ <br />
(你能预料五年后你会做什么吗？) <br />
A：As I have some administrative experience in my last job, I may use my <br />
organizational and planning skills in the future. <br />
(我在上一个工作中积累了一些行政经验，我将来也许要运用我组织和计划上的经验和 <br />
技巧。) <br />
A：I hope to demonstrate my ability and talents in my field adequately. (我 <br />
希望能充分展示我在这个行业的能力和智慧。) <br />
A：Perhaps, an opportunity at a management position would be exciting.（也许 <br />
有机会，我将会从事管理工作。） <br />
如果不愿正面回答，也可以说： <br />
It would be premature for me to predict this. （现在对此问题的预测，尚嫌过 <br />
早。） <br />
甚至还可以打趣的说： <br />
Hypothetically speaking, I might be able to do your current job as a <br />
director.（或 CEO 或 president）((说不定，我也能做你现在主任的工作呢！) <br />
Q： What range of pay-scale are you interested in？(你喜欢那一种薪水层次标准 <br />
？) <br />
A： Money is important, but the responsibility that goes along with this job <br />
is what interests me the most. (薪水固然重要，但这工作伴随而来的责任更吸引 <br />
我。) <br />
A： 假如你有家眷，可以说： <br />
To be frank and open with you, I like this job, but I have a family to <br />
support. (坦白地说，我喜欢这份工作，不过我必须要负担我的家庭。) <br />
Other Tips (其它建议) <br />
Know something about the organization you are applying to. (了解一些你申请工 <br />
作单位的情况) <br />
Dress properly. Don't shake hand with the interviewer until he/she extends <br />
his/her hand. (穿着要得体，人家伸手时才握手。) <br />
Don't sit down until invited to do so by the interviewer. (人家未请，先別坐 <br />
下。) <br />
Make eye-contact with the interviewer during the interview. (面试时，眼睛要 <br />
看着对方。) <br />
Listen actively and stay calm. (注意听，保持冷静。) <br />
If invited to a meal, be especially careful about your table manners. (被邀 <br />
吃饭时，要特別注意餐桌礼节。) <br />
Don't talk with your mouth full. (嘴里有食物，不可开口说话) <br />
Don't make much noise while you eat. (吃东西不要出声音) <br />
Don't blow your nose or use the toothpick at table. (不要拧鼻涕或用牙签剔牙) <br />
Don't appear to be pushy or overly anxious to get a job.（不必过分表现急着要 <br />
工作） <br />
Be honest <br />
but not too modest.（要诚实，但不必太谦虚) <br />
Don't put yourself down or cut yourself up. (不可妄自菲薄或自贬) <br />
Try to avoid discussing politics or religion with your interviewer. (避免与 <br />
面试人谈政治或宗教) 圣人者自力，自胜者强！Fighting !!! <br />
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/141327#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 17 Nov 2007 01:41:52 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/141327</link>
        <guid>http://yuquan-nana.javaeye.com/blog/141327</guid>
      </item>
      <item>
        <title>one note of Head first design patterns(Decorator pattern)</title>
        <author>狂放不羁</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yuquan-nana.javaeye.com">狂放不羁</a>&nbsp;
          链接：<a href="http://yuquan-nana.javaeye.com/blog/137456" style="color:red;">http://yuquan-nana.javaeye.com/blog/137456</a>&nbsp;
          发表时间: 2007年11月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>I read the chapter three of head first design patterns yesterday,this chapter tell us how to use </p>
<p>decorator pattern.here is the defination of this pattern:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The decorator pattern attaches additional responsibilities to&nbsp;&nbsp;an&nbsp;object&nbsp;&nbsp;dynamically,&nbsp;&nbsp; it </p>
<p>provide a flexible alternative to subclassing to extending functionality.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The pattern contains&nbsp; four part.here are tey,component part.the concreteComponent part,</p>
<p>the decorator part ,and the concreteDecorator part. To our attention ,&nbsp; it is necessary to&nbsp; make</p>
<p>the decorator and the component have the same interface.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This pattern uses the composition and inheritance technique to work.apparentlly,the pattern</p>
<p>causes the high coupling for the inheritance,but actually,it just uses the inheritance to unify the</p>
<p>interface,and it is the composition that extend the functionnallites.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This pattern shows up Open-closed &nbsp;principle to us .here is the defination of&nbsp; Open-closed</p>
<p>principle.classes should be open&nbsp; for extension,but closed for modifcation.</p>
          <br/>
          <span style="color:red;">
            <a href="http://yuquan-nana.javaeye.com/blog/137456#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 01 Nov 2007 22:15:33 +0800</pubDate>
        <link>http://yuquan-nana.javaeye.com/blog/137456</link>
        <guid>http://yuquan-nana.javaeye.com/blog/137456</guid>
      </item>
  </channel>
</rss>