<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[Goodtiger]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[LilyStudio@NJU&Alipayer]]></description>
<link>http://hi.baidu.com/goodtigerzhao</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[form到bean，反向注入还是主动提取]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/9c14950aa3f36b1995ca6b80.html]]></link>
        <description><![CDATA[
		
		一、反向注入<br>
很多Web框架中将form中的fields自动转换成bean或相应类型，然后设置到action的setter方法中。这样就可以很方便的在action中获取fields，webwork是直接注入到action中，Struts则有一个formbean做中转，和实际的bean还不一样，有点类似DTO的概念，其实觉得Struts的formbean有点鸡肋的感觉。我想很多人对这种反向注入觉得很方便吧，但是这个自动注入的操作还会涉及到其他一些东西。<br>
<br>
1、注入的话，那就需要有一个被注入的对象。这句话看起来很像是废话，但是在某些框架或是场景中，想要找到这个对象就比较麻烦。 <a href="http://hi.baidu.com/goodtigerzhao/blog/item/9c14950aa3f36b1995ca6b80.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%D6%D8%B9%B9%CF%E0%B9%D8">重构相关</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/9c14950aa3f36b1995ca6b80.html#comment">查看评论</a>]]></description>
        <pubDate>2008/08/13  14:34</pubDate>
        <category><![CDATA[重构相关]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/9c14950aa3f36b1995ca6b80.html</guid>
</item>

<item>
        <title><![CDATA[如何评价一个框架]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/3404ba995575000e6e068cf8.html]]></link>
        <description><![CDATA[
		
		<p>现在开源的框架和实现相当的多，就单拿Web的MVC框架就很多了，像Struts2、SpringMVC，甚至像Seam、ROR等都被划到 Web开发中来进行比较。我们经常会看到很多文章在比较着这些框架，优缺点列出一堆，得出一个结论哪个哪个比较好。除了这些流行的开源框架之外，很多公司 内部的框架的数目也不在少数，相比那些开源的流行的框架，公司内部的框架的文档会很缺乏，经常会以使用心得或者同事的介绍，再加上自己在使用的过程中慢慢 熟悉的。有很多细节性的问题，你甚至要深入阅读框架的源代码才能理解。很多抱怨也会这么产生。</p>
<p></p> <a href="http://hi.baidu.com/goodtigerzhao/blog/item/3404ba995575000e6e068cf8.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%D6%D8%B9%B9%CF%E0%B9%D8">重构相关</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/3404ba995575000e6e068cf8.html#comment">查看评论</a>]]></description>
        <pubDate>2008/08/12  17:21</pubDate>
        <category><![CDATA[重构相关]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/3404ba995575000e6e068cf8.html</guid>
</item>

<item>
        <title><![CDATA[Pax Runner——OSGi小工具]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/6e39e9c45fba03af8326ac43.html]]></link>
        <description><![CDATA[
		
		<p><a href="http://wiki.ops4j.org/confluence/display/ops4j/Pax+Runner">PAX Runner </a></p>
<p>是不错的OSGi的小工具。</p>
<p>1、方便切换OSGi平台，默认是Felix，可以随时切换OSGi的平台</p>
<p>2、即使你不知道OSGi是什么，你也可以很简单那的使用</p>
<p>3、也许你现在还没有很方便快速的把OSGi平台给工作起来，那么快来吧</p>
<p>4、自动维护依赖的Bundle，自动从网上下载。</p>
<p> </p>
<p>还是看视频来学习下吧</p>
<p>百度不行啊，还是去我<a href="http://goodtiger.javaeye.com/blog/225676" target="_blank">J</a></p> <a href="http://hi.baidu.com/goodtigerzhao/blog/item/6e39e9c45fba03af8326ac43.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/Osgi">Osgi</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/6e39e9c45fba03af8326ac43.html#comment">查看评论</a>]]></description>
        <pubDate>2008/08/08  09:40</pubDate>
        <category><![CDATA[Osgi]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/6e39e9c45fba03af8326ac43.html</guid>
</item>

<item>
        <title><![CDATA[OSGi的模块话和热插拔体验]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/9a30bb127512f4c8c2fd7871.html]]></link>
        <description><![CDATA[
		
		<div class="blog_content">
<p>例子是BlueDavy的OpenDoc上的内容,是一个简单的用户登陆的例子。</p>
<p> </p>
<p> </p>
<p><img height="306" width="501" src="http://goodtiger.javaeye.com/upload/attachment/33652/b5277004-b602-3ea3-823a-2e57aab8421b.jpg"></p>
<p>启动应用之后</p>
<p><img height="71" width="625" src="http://goodtiger.javaeye.com/upload/attachment/33650/df497a86-d8ed-398f-9dd1-ef93b7483fc3.jpg"></p>
<p> </p>
<p>通过http://127.0.0.1:8080/demo/page/login.htm进行访问</p>
<p>我们可</p></div> <a href="http://hi.baidu.com/goodtigerzhao/blog/item/9a30bb127512f4c8c2fd7871.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/Osgi">Osgi</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/9a30bb127512f4c8c2fd7871.html#comment">查看评论</a>]]></description>
        <pubDate>2008/08/05  08:51</pubDate>
        <category><![CDATA[Osgi]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/9a30bb127512f4c8c2fd7871.html</guid>
</item>

<item>
        <title><![CDATA[Mule初窥]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/be0760d0d524a789a0ec9c2a.html]]></link>
        <description><![CDATA[
		
		<font size="3" ><strong >什么是Mule</strong></font><br >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Mule是一个轻量级的消息框架也是分布式的对象中介，允许你快速、简单的连接各个应用来交换数据。以<br >
<br >
企业级服务总线这个企业集成模式开设计的Mule可以无缝的利用总多的技术像JMS、HTTP、Email、XML-<br >
<br >
RPC来处理应用之间的交互。<br >
&nbsp;&nbsp;&nbsp;&nbsp; 
 <a href="http://hi.baidu.com/goodtigerzhao/blog/item/be0760d0d524a789a0ec9c2a.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/Mule">Mule</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/be0760d0d524a789a0ec9c2a.html#comment">查看评论</a>]]></description>
        <pubDate>2008/08/04  15:25</pubDate>
        <category><![CDATA[Mule]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/be0760d0d524a789a0ec9c2a.html</guid>
</item>

<item>
        <title><![CDATA[[Reading Log]  Loose Coupling]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/7cab85d60fa2872906088b60.html]]></link>
        <description><![CDATA[
		
		1、Loose coupling is a fundamental concept of SOA(and large distibuted systems in general) aimed to reducing dependencies between different systems.<br>
2、There are different forms of loose coupling,and you will have to find the mixture of tight and loose coupling that's appropriate for your specific context and project.<br>
3、Any form of loose coupling has drawbacks.For this reason, loose coupling should never be an end in itself.<br>
4、The need to map data is usually a  <a href="http://hi.baidu.com/goodtigerzhao/blog/item/7cab85d60fa2872906088b60.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%B6%C1%CA%E9%B1%CA%BC%C7">读书笔记</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/7cab85d60fa2872906088b60.html#comment">查看评论</a>]]></description>
        <pubDate>2008/07/25  09:00</pubDate>
        <category><![CDATA[读书笔记]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/7cab85d60fa2872906088b60.html</guid>
</item>

<item>
        <title><![CDATA[[Reading Log]  Services]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/8a0c13df94fa9d1563279859.html]]></link>
        <description><![CDATA[
		
		1、A  service is the IT realization of some self-contained bussines functionality.<br>
<br>
2、By focusing on the business aspects, a service hides technical details and allows business people to deal with it.<br>
<br>
3、Technically, a service is an <font color="#ff0000">interface </font>for (multiple) messages that are exchanged between provider(s) and consumer(s).<br>
<br>
4、The complete description of a service form a consumer's point of view (signature and semantics) is called a &quot;we <a href="http://hi.baidu.com/goodtigerzhao/blog/item/8a0c13df94fa9d1563279859.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%B6%C1%CA%E9%B1%CA%BC%C7">读书笔记</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/8a0c13df94fa9d1563279859.html#comment">查看评论</a>]]></description>
        <pubDate>2008/07/24  09:16</pubDate>
        <category><![CDATA[读书笔记]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/8a0c13df94fa9d1563279859.html</guid>
</item>

<item>
        <title><![CDATA[代码写来是用来读的]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/f3fda1ccc620671500e92844.html]]></link>
        <description><![CDATA[
		
		&nbsp;&nbsp;&nbsp;    今天读了一些业务相关的代码，有一个类的方法达到了400多行，里面很多的判断语句，最多的if嵌套深度到达了5层，其实整个方法的业务逻辑并不是很复杂，就是对调用请求进行一些检查，然后在每种情况下进行一些不同的处理，而且这些处理都比较的简单，但是糅合在一起的代码。却很多的问题<br>
<strong>一、很难直白的理解方法的意图</strong><br>
&nbsp;&nbsp;&nbsp;    虽然你可以从if语句的判断条件中读懂整个执行流程，但是这还是很费力的，如果碰到变量名取得不好，或者if判断中间是N个条件的组合判断，你就很难 <a href="http://hi.baidu.com/goodtigerzhao/blog/item/f3fda1ccc620671500e92844.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%D6%D8%B9%B9%CF%E0%B9%D8">重构相关</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/f3fda1ccc620671500e92844.html#comment">查看评论</a>]]></description>
        <pubDate>2008/07/07  22:42</pubDate>
        <category><![CDATA[重构相关]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/f3fda1ccc620671500e92844.html</guid>
</item>

<item>
        <title><![CDATA[利用UML图表达分析设计的问题]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/0d820ef4889c2fea7609d73c.html]]></link>
        <description><![CDATA[
		
		其实一直都觉得UML这东西是被误用了最多的东西，很多人其实对UML的各类图的细节都不怎么清楚，所以各人拿各种工具画出来的东西都是各种各样的。最简单的细节就是很多人不注意箭头，单单是箭头，就有好多种画法，但是在一些图中，基本上就是清一色的一种。<br>
还有利用UML图来进行系统的分析和设计是一个连贯的东西，从用例图到顺序图，从领域模型到类图，再综合到状态图，是一个不断细化设计的过程，但是很多图还是太独立了。基本上看了等于没有看。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%D6%D8%B9%B9%CF%E0%B9%D8">重构相关</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/0d820ef4889c2fea7609d73c.html#comment">查看评论</a>]]></description>
        <pubDate>2008/07/05  13:05</pubDate>
        <category><![CDATA[重构相关]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/0d820ef4889c2fea7609d73c.html</guid>
</item>

<item>
        <title><![CDATA[终于看到自己遗留的丑陋代码]]></title>
        <link><![CDATA[http://hi.baidu.com/goodtigerzhao/blog/item/ebf3d7391e40e4f63a87ce03.html]]></link>
        <description><![CDATA[
		
		<p>很多的时候，我们一直在讲写代码最先讲的是把功能实现，然后再是优化等等问题。在一个人编写代码的时候这是可以的，但是在一个实际的项目中，这往往是会带来问题。</p>
<p>一、项目的需求变更迫使你改变原有的设计</p>
<p>在项目开发的中期，已经完成了系分设计，编码也进行到一半的时候，需求方提出需求变更。虽然可以拒绝接受需求的变更，但是由于功能点的重要性，接受了变更。但是面临的问题就是还有半个月，项目就有上线，为了能够在规定的时间内完成项目，并且实现变更的需求，我们采取的方案是尽量不改动原有的设计，以最</p> <a href="http://hi.baidu.com/goodtigerzhao/blog/item/ebf3d7391e40e4f63a87ce03.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/goodtigerzhao/blog/category/%D6%D8%B9%B9%CF%E0%B9%D8">重构相关</a>&nbsp;<a href="http://hi.baidu.com/goodtigerzhao/blog/item/ebf3d7391e40e4f63a87ce03.html#comment">查看评论</a>]]></description>
        <pubDate>2008/07/03  09:34</pubDate>
        <category><![CDATA[重构相关]]></category>
        <author><![CDATA[GoodtigerZhao]]></author>
		<guid>http://hi.baidu.com/goodtigerzhao/blog/item/ebf3d7391e40e4f63a87ce03.html</guid>
</item>


</channel>
</rss>