??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区免费观看,亚洲嫩模在线观看,国产91精品一区二区麻豆亚洲 http://m.tkk7.com/adaiye/archive/2007/10/11/151935.htmladaiyeadaiyeThu, 11 Oct 2007 01:22:00 GMThttp://m.tkk7.com/adaiye/archive/2007/10/11/151935.htmlhttp://m.tkk7.com/adaiye/comments/151935.htmlhttp://m.tkk7.com/adaiye/archive/2007/10/11/151935.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/151935.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/151935.html一l一致的的命名约定对框架的可用性及光要?名字要易于理解,同时必须传达每个元素的功能?/p>

大小写约?/h2>

标识W的大小写规?/p>

PascalCasingQ如HtmlTag  IOStream

camelCasingQ如htmlTag  ioStream

  • 要把PascalCasing用于由多个单词构成的名字I间、类型、以及成员的名字Q?
  • 要把camelCasing用于参数的名字?/li>

通用命名U定

单词的选择

Ҏ架中标识W的名字来说Q很重要的一Ҏ一目了然?/p>

名字的意思清楚比长度短更重要。名字应该与场景、系l的逻辑l成或物理组成以及ؓ人熟知的概念相对应,而不应该与技术或框架相对应?/p>

  • 要ؓ标识W选择易于阅读的名字;
  • 要更看重可读性,而不是更看重短性;
  • 不要使用下划Uѝ连字符以及其他M既非字母也非数字的字W;
  • 不要使用匈牙利命名法Q?
  • 避免使用与广泛用的~程语言的关键字有冲H的标识W?/li>

使用单词~写和首字母~写?/strong>

一般来_不要在标识符中用单词羃写或首字母羃写:宁可名字长一点,也不要别人看不懂?nbsp; 其不要使用未被q泛接受的单词羃写和首字母羃写词?/p>

  • 不要使用~写词或~略词作为标识符名字的一部分
    用GetWindow  不用GetWin
  • 不要使用未被q泛接受的首字母~写?br>多谓q泛接受Q用搜烦引擎在网上搜索该首字母羃写词Q如果返回的前几个结果与期望相符Q那么该首字母羃写词才有资格被称Z所周知?/li>

避免使用语言Ҏ的名?/strong>

  • 要给cd名用语义上有意义的名字Q而不要用特有的关键?br>GetLength比GetInt要好
  • 要用CLR的通用cd名,而不要用语aҎ的别?
  • 要用常见的名字Q比如value或itemQ而不要重复类型的名字

为已有API的新版本命名

当用新类型和新成员接替或取代已有的类型或成员Ӟ如何选择名字Q?/p>

  • 使用与旧API怼的名?
  • 要优先用后~而不是前~来表C已有API的新版本
    q样有助于在览文档或用Intellisense时发现新版本Q按字母排序
  • 可以考虑使用全新但有意义的标识符
  • 要用数字后~来表C已有API的新版本
    有些名字Q或工业标准Q不宜添加后~或改?
  • 不要在标识符中用“Ex”“New”等cM的后~来区分相同API的不同版?
  • 要在引入64位整敎ͼlongQ而非32位整数进行操作的新版本API时用?4”后~Q反之亦然?/li>

E序集和DLL的命?/h2>

E序集是一个部|单元,同时q代表托代码程序的w䆾。虽然程序集可以分布一个或多个文g中,但一般来说一个程序集仅与一个DLL相对应?/p>

名字I间与DLLE序集的区别Q?/p>

名字I间Q一l逻辑实体

DLL和程序集Q打包和部v时的一个单

  • 要ؓE序集和DLL选择提示性的名字Q比如System.DataQ这样很Ҏq道它的大致功能?
  • DLL命名Q?lt;Company>.<Component>.dll

名字I间的命?/h2>

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

  • 要用公司名称作ؓ名字I间的前~Q不要用~写
  • 要用E_的与版本无关的品名UC为名字空间的W二?
  • 不要Ҏ公司的组l架构来军_名字I间的层ơ结构,因ؓ公司内部l织的名UC般来说不会持l太长的旉
  • 要用PascalCasing大小写风|q用点号来分隔名字空间的各部分?br>如Microsoft.Office.PowerPoint
  • 考虑适当的时候在名字I间中用复数Ş式?nbsp; 首字母羃写词例外
    System.Collections
    System.IO
  • 不要用相同的名字来命名名字空间与位于该名字空间中的类?br>如:不要名字空间命名ؓDebugQ然后又在该名字I间中提供一个名为Debug的类?/li>

名字I间和类型冲H?/strong>

  • 不要引入太一般化的类型名Q比如Element、Node、Log以及Message?/li>

不同cd的名字空_有不同的规范来避免类型名的冲H:

  • 应用E序模型名字I间Qapplication model namespaceQ?br>属于单个应用E序模型的名字空间经怸起用,但是它们几乎不合属于其他应用E序模型的名字空间一起?br>System.Windows*
    System.UI*
  • 基础设施名字I间Qinfrastructure namespaceQ?br>此类别包含一些在开发常用应用程序时很少会导入的名字I间
  • 核心名字I间Qcore namespaceQ?br>包含了所有的System名字I间Q但应用E序模块名字I间和基设施名字I间除外?nbsp; 包括System、System.IO、System.Xml以及System.Net{等
  • 技术名字空间组Qtechnology namespace groupQ?br>此类别包含所有那些以相同的两个前~Q?lt;Company>.<Technology>*Q开始的名字I间?/li>

cR结构和接口的命?/h2>

一般来说类型名应该是名词词l。如果无法ؓcd扑ֈ一个名词词l,那么应该重新考虑cd的M设计?/p>

另一个中重要的考虑因素Q最易于识别的名字应该用于最常用的类型?/p>

最常用的类型名应该反映Z用场景,而不是承层ơ?/p>

  • 要用名词词组来给cd命名。用PascalCasing风格
  • 不要l类名加前缀
    只有接口才能Q可以)被加前缀“I”,那是因ؓ.NET框架受到COM及Java的媄?
  • 考虑让派生类的名字以其基cȝ?br>public class FileStream : Stream {...}
  • 要确保一对类/接口的名字只差一个“I”前~Q如果该cL该接口的标准实现?br>public interface IComponent {...}
    public class Component : IComponent {...}

泛型cd参数的命?/strong>

  • 要用描述性的名字来命?
  • 考虑用T来命名参数类?
  • 要给描述性的cd参数名加上T前缀
  • 考虑在类型参C昄出施加于该类型参C的限?/li>

枚Dcd的命?/strong>

  • 要用单数名词来命名枚丄型,除非它表C的是位域(bit fieldQ?
  • 不要l枚丄型的名字d“Enum”后~Q也不要d“Flag”、“Flags”等后缀
  • 不要l枚丄型值的名字d前缀
    此规范与C++中通常所使用的恰好相反。在C++中给枚D的每个成员加上完成的限定W是很重要的Q因为它们可能在枚D名的作用域之外被讉K。但是在托管代码中,枚D成员只能通过枚D名的作用域来讉K?/li>

cd成员的命?/h2>

cdQ方法、属性、事件、构造函数、字D?/p>

Ҏ的命?/strong>

要尽量根据方法所对应的Q务来l它们命名,而不要根据一些实现细节?/p>

  • 要用动词或动词词l来命名Ҏ

属性的命名

  • 要用名词、名词词l或形容词来命名属?
  • 不要让属性名看v来与“Get”方法的名字怼
  • 要用肯定性的短语QCanSeek而不是CantSeekQ来命名布尔属?
  • 考虑用属性的cd名来命名属?br>public enum Color {...}
    public class Control
    {
        public Color Color
        {
            get {...}
            set {...}
        }
    }

事g的命?/strong>

  • 要用动词或动词短语来命名事g
    事gL表示一些动作,要么正在发生Q要么已l发?
  • 要用现在时和q去时来赋予事g名之前和之后的概?br>H口关闭之前发生的close事gQClosing
    H口关闭之后发生的close旉QClosed
  • 不要用Before和After前缀或后~来区分前|和后置事g
  • 要在命名事g处理函数Q用作事件类型的委托Q时加上“EventHandler”后~
  • 要在事g处理函数中用sender和e作ؓ两个参数的名?br>senderQ触发事件的对象Q在整个.NET框架中,sender为objectcd
  • 要在命名事g的参数类型时加上“EventArgs”后~

字段的命?/strong>

  • PascalCasing风格
  • 名词或名词短?
  • 不要l字D名d前缀

参数的命?/h2>
  • camelCasing风格
  • 要用描q性的参数?br>参数名要具备_的描q性,使得在大多数情况下,用户Ҏ参数的名字和cdp够确定它的意?
  • 考虑Ҏ参数的意思而不是参数的cd来命名参?/li>

资源的命?/h2>

本地化的资源好比是属性,可以通过特定的对象来引用。因此,它的命名规范与属性的怼?/p>

  • 要在命名属性关键字Qresource keyQ时使用PascalCasing大小写风?
  • 要标识W的名字h描述性而不是名字变短
  • 不要使用各主要CLR~程语言Ҏ的关键字
  • 要在命名资源时用字母、数字和下划U?
  • 要用点号来给标识W清楚地划分层次
  • 要在为异常消息资源命名是遵@下面的命名约定:
    资源标识W应该是异常的类型名加一个简短的异常标识W,之间以点号分?/li>


adaiye 2007-10-11 09:22 发表评论
]]>关于考SUN JAVA PROGRAMMER的几点徏?/title><link>http://m.tkk7.com/adaiye/archive/2007/10/06/150735.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Sat, 06 Oct 2007 13:02:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/10/06/150735.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/150735.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/10/06/150735.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/150735.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/150735.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://m.tkk7.com/adaiye/archive/2007/10/06/150735.html'>阅读全文</a><img src ="http://m.tkk7.com/adaiye/aggbug/150735.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-10-06 21:02 <a href="http://m.tkk7.com/adaiye/archive/2007/10/06/150735.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Adobe Flex 3最有趣的特征之一 :Web设计者和开发者的盔Rhttp://m.tkk7.com/adaiye/archive/2007/09/21/147099.htmladaiyeadaiyeFri, 21 Sep 2007 06:26:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/21/147099.htmlhttp://m.tkk7.com/adaiye/comments/147099.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/21/147099.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/147099.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/147099.html阅读全文

adaiye 2007-09-21 14:26 发表评论
]]>
漫谈C#之关键字Q?Q?/title><link>http://m.tkk7.com/adaiye/archive/2007/09/20/146824.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Thu, 20 Sep 2007 09:11:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/09/20/146824.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/146824.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/09/20/146824.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/146824.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/146824.html</trackback:ping><description><![CDATA[<p>    每一U语a都有非常多的关键字,而且q些关键字也都大同小异,不过毕竟q是有些许的不一栗有些关键字大家到的多了,自然q悉了Q但是有些关键字用得不大多,或者是新引入的Q所以就不大熟悉了。我q_在用的时候,是会碰C些关键字Q感觉有点生疏,q_也会把这些我不懂的关键字的用法了解一下ƈ记录下来。想到应该也有很多跟我同L人,所以就把我的记录跟大家分n一下。请各位tx多多指正Q?br><strong>讉K关键?/strong><br>    baseQ用于派生类中访问基cȝ成员 <ul> <li>调用基类上已被其他方法重写的Ҏ <p>1 public override void GetInfo()<br>2 {<br>3 base.GetInfo(); // 调用基类上的GetInfoҎ<br>4 }</p> <li>指定创徏zcd例时应用的基cL造函? <p>1 public MyDerived() : base() // 调用基类的构造函?br>2 {<img alt="" src="http://www.cnblogs.com/Images/dot.gif">}</p></li></ul>    从静态方法中使用base关键字是错误的?br><strong>转换关键?br></strong>explicitQ用于声明用户定义的昑ּcd转换q算W? <p>1 class MyType<br>2 {<br>3 public static explicit operator MyType(int i)<br>4     {<br>5 // 从int转换到MyTypecd的代?br>6     }<br>7 } <p><strong></strong>昑ּ转换q算W必通过cd转换调用 <p>1 int i;<br>2 MyType x = (MyType)i; // int到MyTypecd的{换需要进行类型{? <p>    如果转换操作可能D异常或信息丢失,则应用explicit关键字标记它?br>    implicitQ用于声明用户定义的隐式转换q算W?nbsp; <p>1 class MyType<br>2 {<br>3 public static implicit operator int(MyType m)<br>4     {<br>5 // 从MyType转换到intcd的代?br>6     }<br>7 } <p>1 MyType x;<br>2 int i = x;  // 隐式地调用MyType的MyType到intcd的{换运符 <p><strong></strong>隐式转换可以通过消除不必要的cd转换来提高源代码的可L?br>    一般情况下Q调用某一个隐式{换时Q应当绝不会引发异常Qƈ且不会造成信息丢失。否则,应将其标Cؓexplicit?br><strong>Ҏ参数关键?/strong><br>    如果声明Ҏ的参数时没有指明ref或outQ该参数具有与该方法相关的倹{这个值在Ҏ中能被更改,但是当程序返回到调用q程Ӟq种改动不会被保留?br><strong><br></strong>    paramsQ用于指定在参数数目可变时带有参数的Ҏ参数<br>    在方法声明中的params关键字之后不允许引入M其他参数Q但在其前面可以有其他参数。而且在方法声明中只允怋用一个params关键字? <p> 1 public static void UseParams(params int[] list)<br> 2 {<br> 3 for(int i = 0; i < list.Length; i++)<br> 4     {<br> 5         Console.WriteLine(list[i]);<br> 6     }<br> 7 }<br> 8<br> 9 public static void Main()<br>10 {<br>11     UseParamsQ?,2,3Q?<br>12 int[] myArray = new int[3] { 10,11,12 };<br>13     UseParams(myArray);<br>14 } <p>    ref、out  使方法可以引用传递到该方法的那一个变量,当程序{臌用方法时Q在Ҏ中对参数所做的M改动都将传给该变量?br>    ref参数的值将被传递到ref参数Q故必须首先初始化;而out参数不然Q它的g会被传递到该out参数Q故不必首先初始化,但它必须在方法返回以前ؓout参数赋倹{?br>    属性不是变量,不能作ؓref/out参数?/p><img src ="http://m.tkk7.com/adaiye/aggbug/146824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-09-20 17:11 <a href="http://m.tkk7.com/adaiye/archive/2007/09/20/146824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大四啦!http://m.tkk7.com/adaiye/archive/2007/09/10/144093.htmladaiyeadaiyeMon, 10 Sep 2007 13:16:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/10/144093.htmlhttp://m.tkk7.com/adaiye/comments/144093.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/10/144093.html#Feedback3http://m.tkk7.com/adaiye/comments/commentRss/144093.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/144093.html阅读全文

adaiye 2007-09-10 21:16 发表评论
]]>
人生轨迹的改变,首要在于思维方式的改变。-Q{?CSDN.NET公司内部论坛Q迈向成功的“脑力操?http://m.tkk7.com/adaiye/archive/2007/09/09/143826.htmladaiyeadaiyeSun, 09 Sep 2007 11:26:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/09/143826.htmlhttp://m.tkk7.com/adaiye/comments/143826.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/09/143826.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/143826.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/143826.html阅读全文

adaiye 2007-09-09 19:26 发表评论
]]>
?NET设计规范?amp;mdash;&mdash;学习W记Q?.5Q框架设计基http://m.tkk7.com/adaiye/archive/2007/09/06/143159.htmladaiyeadaiyeThu, 06 Sep 2007 06:07:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/06/143159.htmlhttp://m.tkk7.com/adaiye/comments/143159.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/06/143159.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/143159.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/143159.html
对用戯言Q真正的开发效率来自能够轻易地创造非凡的产品Q而ƈ非来自能够轻易地创造垃圾?

1. 场景驱动设计原则
2. 低门栏原?
3. 自说明对象原?
4. 分层架构原则  阅读全文

adaiye 2007-09-06 14:07 发表评论
]]>
Java~程实战:设计自己的Annotation http://m.tkk7.com/adaiye/archive/2007/09/06/143063.htmladaiyeadaiyeThu, 06 Sep 2007 01:39:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/06/143063.htmlhttp://m.tkk7.com/adaiye/comments/143063.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/06/143063.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/143063.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/143063.html阅读全文

adaiye 2007-09-06 09:39 发表评论
]]>
?NET设计规范?amp;mdash;&mdash;学习W记Q?.4Q分层架构原?/title><link>http://m.tkk7.com/adaiye/archive/2007/09/05/142941.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Wed, 05 Sep 2007 08:54:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/09/05/142941.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/142941.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/09/05/142941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/142941.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/142941.html</trackback:ping><description><![CDATA[<p>分层设计使得在单个框架中同时提供强大的功能和易用性成为可能?/p> <ul> <li>考虑Ҏ架进行分层,佉K层API能提供最佳的开发效率,低层API能提供最强大的功能和最丰富的表现力?br>通俗地讲Q象我这L菜鸟只能用高层APIQ太低层都不懂,而牛Z都是想用也更愿意用低层API的强大功能的Q个人意见)。psQ这边的高层跟低层不是指高深的意思。而是从易用性方面考虑的! <li>避免把低层API和高层API混在同一名字I间中,如果低层API非常复杂的话Q即包含了许多类型)? <li>要确保单个特性域中不同的层能很好的集成在一赗?/li></ul><img src ="http://m.tkk7.com/adaiye/aggbug/142941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-09-05 16:54 <a href="http://m.tkk7.com/adaiye/archive/2007/09/05/142941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ListView 日期,数字,字符排序http://m.tkk7.com/adaiye/archive/2007/09/05/142929.htmladaiyeadaiyeWed, 05 Sep 2007 08:34:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/05/142929.htmlhttp://m.tkk7.com/adaiye/comments/142929.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/05/142929.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/142929.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/142929.html阅读全文

adaiye 2007-09-05 16:34 发表评论
]]>
?NET设计规范?amp;mdash;&mdash;学习W记Q?.3Q自说明对象原则http://m.tkk7.com/adaiye/archive/2007/09/05/142869.htmladaiyeadaiyeWed, 05 Sep 2007 05:11:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/05/142869.htmlhttp://m.tkk7.com/adaiye/comments/142869.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/05/142869.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/142869.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/142869.html
* 要确保API是直观的Q无需查阅参考文就能用于基本场?
你M希望写个“Hello World”都L阅API文吧?
* 要ؓ所有的API提供优秀的文?
一斚wQƈ非所有的API都能自说明。不同的Z认ؓ不同的API是自说明的;
另一斚wQ有些h惛_开始用API之前完全理解它们?nbsp; 阅读全文

adaiye 2007-09-05 13:11 发表评论
]]>
做礼?/title><link>http://m.tkk7.com/adaiye/archive/2007/09/03/142242.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Mon, 03 Sep 2007 03:39:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/09/03/142242.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/142242.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/09/03/142242.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/142242.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/142242.html</trackback:ping><description><![CDATA[<p>又是一周过MQ星期一又来了!早上Q在公司里偷个空Q写点东东:</p> <p>昨天是星期日Q基督徒做礼拜的日子Q?/p> <p>自从呆子dM英国Q也有一q多没见到她了。昨天我们越好见面的Q还有冲哥和晓丹Q昨天也是她要做C拜的日子:她在英国受洗了!我以前也从来没有见识q基督教做礼拜的场景Q所以跟呆子_也想看看。我到富阳的时候他们的仪式已经开始了Q我到的时候,上面是长老在做报告类似的Q因得是富阳话,我不大听得懂Q不q这个很快也q束了Q大概是在我来之前已l讲了很久了:-PQ。然后,他们开始唱圣歌Q唱了很多,我个人感觉那个旋律还不错Q也很容易上口,也跟着׃几首。圣歌中都是些赞颂耶稣Q赞颂主的,也有一些是说希望主不要摒弃他们的,q有是希望L留他们。呆子,一直都在非常虔诚的唱,而且每次低头告的时候都非常虔诚Q我作ؓ外hQ自然体会不到其中的滋味Q。唱完圣歌,q后是讲了一D圣l上的内容,我们四个人,除了呆子Q其他的都没有认真的在听Q所以也不知道具体地讲了些什么。不q我听到一个故事印象非常深刻:有一对夫妻,d是基督徒。故事就讲到那个丈夫Q如果打他妻子,她绝对不会还手,而且q是W脸相迎Q?q个也许是常说的那个故事:如果有h打你左脸Q你要把双让他打!q个C拜好像q有圣餐Q不q呆子说我们没有受洗q,不能接受的!</p> <p>后来Q也跟呆子聊了很多。也大致了解了基督教的一些东ѝ她也说她自己变了很多,在英国最重要的事是扑ֈ了自q丅R在我看来她在英国最重要的的是扑ֈ了自q主,扑ֈ了自׃生的寄托?/p> <p>我从来不会觉得因为有宗教信ԒQ呆子就是另cM。在我看来呆子还是呆子,唯独变的只是ҎC一个可以倾诉的对象!</p><img src ="http://m.tkk7.com/adaiye/aggbug/142242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-09-03 11:39 <a href="http://m.tkk7.com/adaiye/archive/2007/09/03/142242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>?NET设计规范?amp;mdash;&mdash;学习W记Q?.2Q低门栏原则http://m.tkk7.com/adaiye/archive/2007/09/03/142204.htmladaiyeadaiyeMon, 03 Sep 2007 02:03:00 GMThttp://m.tkk7.com/adaiye/archive/2007/09/03/142204.htmlhttp://m.tkk7.com/adaiye/comments/142204.htmlhttp://m.tkk7.com/adaiye/archive/2007/09/03/142204.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/142204.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/142204.html阅读全文

adaiye 2007-09-03 10:03 发表评论
]]>
JavaE序员需要了解的几个开源协?/title><link>http://m.tkk7.com/adaiye/archive/2007/09/02/142137.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Sun, 02 Sep 2007 13:48:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/09/02/142137.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/142137.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/09/02/142137.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/142137.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/142137.html</trackback:ping><description><![CDATA[     摘要: JavaE序员需要了解的几个开源协?nbsp; <a href='http://m.tkk7.com/adaiye/archive/2007/09/02/142137.html'>阅读全文</a><img src ="http://m.tkk7.com/adaiye/aggbug/142137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-09-02 21:48 <a href="http://m.tkk7.com/adaiye/archive/2007/09/02/142137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>q接数据库和相关数据库操作——之我的Ҏ 利用OLEDBhttp://m.tkk7.com/adaiye/archive/2007/08/31/141689.htmladaiyeadaiyeFri, 31 Aug 2007 04:25:00 GMThttp://m.tkk7.com/adaiye/archive/2007/08/31/141689.htmlhttp://m.tkk7.com/adaiye/comments/141689.htmlhttp://m.tkk7.com/adaiye/archive/2007/08/31/141689.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/141689.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/141689.html阅读全文

adaiye 2007-08-31 12:25 发表评论
]]>
一位Y件工E师?qȝQ{Q?/title><link>http://m.tkk7.com/adaiye/archive/2007/08/31/141677.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Fri, 31 Aug 2007 03:51:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/08/31/141677.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/141677.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/08/31/141677.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/141677.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/141677.html</trackback:ping><description><![CDATA[一位Y件工E师?qȝ <br /> <br /> 作者:成晓?<br />  <br /> <br /> “? 是一q毕业时”Q看CҎ学子d人生的象牙塔Q走上各自的工作岗位Q想惌׃曄意气风发、踌w满志,不觉感叹万千……本文是自己工?q的l历? 淀或者经验提|希望Ҏ有的软g工程师们有所帮助Q早日实现自q人生目标。本文主要是关于软g开发h员如何提高自q软g专业技术方面的具体Q前 面几Ҏ在确定大的方向,是废话吧?<br /> <br /> 谨以此文献给那个自己Z奉献3q青春与Ȁ情的开发团队。还有团队成员:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD?<br /> <br /> 1? 分nW一条经验:“学历代表q去、能力代表现在、学习力代表未来?#8221;其实q是一个来自国外教育领域的一个研I结果。相信工作过几年、十几年的朋友对q个? 理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾l生Q?#8221;所以放在每一条,让刚刚毕业的朋友们早点看到哈Q?<br /> <br /> 2? 一定要定自己的发展方向,qؓ此目的制定可行的计划。不要说什么,“我刚毕业Q还不知道将来可能做什么?”Q?#8220;跟着感觉赎ͼ先做做看”。因为,q样的观 点会通过你的潜意识去暗示你的行ؓ无所事事、碌无为。一直做技术,来成ؓ专家Uh物?向管理方向走Q成业经理hQ先熟悉行业和领域,来自立? Pq是先在行业里面h؜Q过几年转行做点别的Q这很重要,它将军_你近几年、十q内“做什么事情才是在做正的事情Q?#8221;?<br /> <br /> 3? 软g开发团队中Q技术不是万能的Q但没有技术是万万不能的!在技术型团队中,技术与人品同等重要Q当焉怹比较重要哈,其在MM比较多的团队中。在? 仉目团队中Q技术水qx受h重视和尊重的重要砝码。无Z是做理、系l分析、设计、编码,q是产品理、测试、文、实施、维护,多少你都要有技术基 。算我孤陋寡闻,我还真没有亲眼看到过一个外行带领一个Y件开发团队成功地完成qY件开发项目,哪怕就一个,也没有看到。倒是曄看到q一?#8220;高学历的 牛h”(非技术型)带一堆h做完q一个项目,目交付的第二天Q项目组成员扔下一?#8220;再也受不了啦Q?#8221;四分五裂、各奔东ѝ那个项目的“成功?#8221;大家可想 而知了?<br /> <br /> 4? 详细制定自己软g开发专业知识学习计划,q注意及时修正和调整(软g开发技术变化实在太?。请牢记Q?#8220;如果一个Y件开发h员在1?q内都没有更新过? q知识Q那么,其实他已l不再属于这个行业了?#8221;不要告诉自己没有旉。来自时间管理领域的著名?#8220;三八原则”告诫我们Q另外的?时如何使用决? 你的人生成|Q本毕业以来Q^均每天实际学习时间超q?时?<br /> <br /> 5? 书籍是hc进步的阶梯Q对软g开发h员尤其如此。书c是学习知识的最有效途径Q不要过多地指望在工作中能遇?#8220;世外高h”Qƈ不厌其烦地教你。对于花׃ 书,我个人经验是Q千万别买国内那帮h出的书!我买的那些家伙出的书Q?00%全部后悔了,无一本例外。更气愤的是Q这些书在二手市场的地摊上都很难? 掉?#8220;拥有书籍q不表示拥有知识Q拥有知识ƈ不表C拥有技能;拥有技能ƈ不表C拥有文化;拥有文化q不表示拥有智慧?#8221;只有书本变成的自己智慧Q才是 真正拥有了它?<br /> <br /> 6? 不要仅局限于ҎҎ术的表面使用上,哪怕你只是偶尔用一、二ơ?#8220;对Q何事物不I就?#8221;是Q何行业的工程师所不应该具备的素质。开发Windows应用 E序Q看看WindowsE序的设计、加载、执行原理,分析一下PE文g格式Q试试用SDK开发从头开发一个Windows应用E序Q用VCQ+? Delphi、Java?Net开发应用程序,花时间去研究一下MFC、VCL、J2EE?Net它们框架设计或者源码;除了会用J2EE? JBoss、Spring、Hibernate{等优秀的开源品或者框Ӟ抽空看看大师们是如何抽象、分析、设计和实现那些cM问题的通用解决Ҏ的? 试着q样做做Q你以后的工作将会少遇到一些让你不明就里、一头雾水的问题Q因为,很多东西?#8220;知其然且知其所以然”Q?<br />  <br /> 7? 在一U语a上编E,但别为其束缚了思想?#8220;代码大全”中说Q?#8220;深入一门语a~程Q不要Q于表?#8221;。深入一门语a开发还q远不QQ何编E语a的存在都有其 自n的理由,所以也没有哪门语言?#8220;包治癄”?#8220;灵丹妙药”。编E语a对开发h员解军_体问题的思\和方式的影响与束~的例子俯拾皆是。我的经验是Q用 面对对象工具开发某些关键模块时Qؓ什么不可以借鉴C、C51、汇~的模块化封装方式?用传l的桌面开发工?目前主要有VC++、Delphi)q行p? l体l结构设计时Qؓ什么不可以参考来自JavaC֌的IoC、AOP设计思想Q甚臛_鉴像Spring、Hibernate、JBoss{等优秀的开? 框架Q在q行cM于实旉信、数据采集等功能的设计、实现时Qؓ什么不可以引用来自实时pȝ、嵌入式pȝ的优U的体pL架与模式Qؓ什么一切都必须以个 人、团队在当然开发语a上的传统或者经验来解决问题Q?Q?#8220;他山之石、可以攻?#8221;?<br /> <br /> 8? Lȝ与反思的习惯Qƈ有意识地提炼日常工作成果QŞ成自q个h源码库、解xc问题的通用pȝ体系l构、甚臌化ؓ框架。众所周知Q对软g开发h? 而言Q有、无l验的一个显著区别是Q无l验者完成Q何Q务时都从头开始,而有l验者往往通过重组自己的可复用模块、类库来解决问题Q其实这个结Z应该? 局限在软g开发领域、可以g伸到很多斚wQ。这q不是说Q所有可复用的东襉K必须自己实现Q别人成熟的通过试的成果也可以攉、整理、集成到自己的知? 库中。但是,最好还是自己实玎ͼq样没有知识产权、版权等问题Q关键是自己实现后能真正掌握q个知识点,拥有q个技能?<br /> <br /> 9? 理论与实践ƈ重,内外双修。工E师的内涉|Q以工程师的眼光观察、分析事物和世界。一个合格的软g工程师,是真正理解了软g产品的本质及软g产品研发的? 想精髓的人(个h观点、欢q探讨)。掌握Y件开发语a、应用语a工具解决工作中的具体问题、完成目标Q务是软g工程师的主要工作Q但从Y件工E师q个角度 来看Q这只是外在的东西,q重要的、本质的工作。学习、掌握Y件品开发理论知识、Y件开发方法论Qƈ在实践中理解、应用Y件品的分析、设计、实现? x解决具体的Y件品研发问题,才是真正的Y件工E师的工作。站在成熟理Z可靠Ҏ论的高度思考、分析、解决问题,q在具体实践中验证和修正q些思想 与方式,最lŞ成自q理论体系和实用方法论?<br /> <br /> 10、心态有多开放,视野有多开阔。不要抱着自己的技术和成果Q等到它们都已经q时 变成垃圾了,才拿出来丢h现眼。请及时发布自己的研I成果:开发的产品、有创意的设计或代码Q公布出来让大家交流或者用,你的成果才有q化和升华的? 会。想惌?000q间开发的那些Windowspȝ工具Q??q之后的今天Q还是那个样子,今天行的好多Windowspȝ工具都比自己的晚Q但 q化得很好,且有那么多用户在使用。ƈ且,不要保守自己的技术和思想Q尽可能CZ与分nQ或者传授给开发团队的成员?#8220;与h交换Ҏ之后Q每个hq? 是只有一个苹果;但交换思想之后Q每个h都拥有两U思想”Q道理大安懂,但有多少人真正能做到呢? <br /> <br /> 11、尽量参加开源项目的开发? 或者与朋友共同研制一些自q产品Q千万不要因为没有钱赚而不做。网l早已不再只?#8220;虚拟世界”Q网上有很多的开源项目、合作开发项目、外包项目,q都? 涉猎工作以外的知识的l好ZQƈ且能够结识更q的人缘。不要因为工作是做ERPQ就不去学习和了解嵌入式、实时、通信、网l等斚w的技术,反过来也是一 栗如果当他别人拿着合同找你合作Q你却这也不会,那也不熟Ӟ你将后悔莫及?<br /> <br /> 12、书到用时方恨少Q不要将自己的知识面仅仅局限于 技术方面。诺贝尔l济学奖得主西蒙教授的研I结果表明: “对于一个有一定基的h来说Q他只要真正肯下功夫Q在6个月内就可以掌握M一门学问?#8221;教育心理学界为感谢西蒙教授的研究成果Q故命名蒙学习法? 可见Q掌握一门陌生的学问q远没有x的那么高难、深奥。多方吸取、广泛涉猎。极力夯实自q影响圈、尽量扩大自qx圈。胦务、经、税务、管理等{? 知识Q有I旉看看Q韬光养晦、未雨绸~?<br /> <br /> 13、本文的ȝ与反思: <br /> <br /> AQ不要去做技术上的高手,除非你的目标如此。虽然本文是关于提高软g开发知识的Q做技术的高手是我一向都不赞同的。你可以提高自己的专业知识,但能胜Q工作x?<br /> <br /> BQ提高Y件知识和技术只是问题的表面Q本质是要提高自p识问题、分析问题、解决问题的思想高度。Y件专业知识的很多Ҏ和原理,可以很容易地延、应用到生活的其它方面?<br /> <br /> CQ在能胜d作的基础上,立即L猎其它领域的专业知识Q丰富自q知识体系、提高自ql合素质Q尤其是那些目标不在技术方面的朋友?a href="http://m.tkk7.com/adaiye/"></a><a href="http://m.tkk7.com/adaiye/">adaiye</a> <img src ="http://m.tkk7.com/adaiye/aggbug/141677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-08-31 11:51 <a href="http://m.tkk7.com/adaiye/archive/2007/08/31/141677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>?NET设计规范?amp;mdash;&mdash;学习W记Q?Q框架设计的基本原则http://m.tkk7.com/adaiye/archive/2007/08/29/141014.htmladaiyeadaiyeWed, 29 Aug 2007 09:34:00 GMThttp://m.tkk7.com/adaiye/archive/2007/08/29/141014.htmlhttp://m.tkk7.com/adaiye/comments/141014.htmlhttp://m.tkk7.com/adaiye/archive/2007/08/29/141014.html#Feedback0http://m.tkk7.com/adaiye/comments/commentRss/141014.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/141014.html׃我怕文章的幅q长会人看了头痛,所以,我打分几篇文章把?NET设计规范》第二章的学习笔记写出来Q这样大家看着不至于太累!大概是接下去d五篇文章是说“框架设计基”的......

 

?/strong>用户而言Q真正的开发效率来自能够轻易地创造出非凡的品,而ƈ非来自能够轻易地创造垃圾?/h3>

场景驱动设计的原?/font>

框架通常包含非常大的一lAPI。但在开发过E中Q真正用到的只是其中较小的一个子集,只会涉及一部分常用场景?/p>

在设计框架时Q用场景来驱动。从用户的角度,先自q写一些对主要场景来说必不可少的代码,然后再设计对象模型(object modelQ来支持q些样例代码?/p>

于功能性规范之前,先撰写一份场景驱动的API规范Q应该列Z个给定的技术领域中最常用??0个用场景,q列出实现这些场景的样例代码Q至用两种语言~写?/p>

  • 要确保对M包含公用API的特性设计来_其核心部分都是API设计规范?/li>
  • 要ؓ每个主要的特性域Qfeature areaQ定义一些最常用的场景?/li>
  • 要确保用场景与适当的抽象层ơ相对应。场景应该大致与最l用L用例相对应?/li>
  • 先ؓ主要的用场景编写样例代码,然后再定义对象模型来支持q些样例代码?/li>
  • 要用臛_两种不同的编E语a来ؓ主要场景~写样例代码?br>最好能保证所选编E语a的语法和风格差异很大?/li>
  • 不要在设计框架的公用API时完全依赖于标准的设计方法?br>标准的设计方法(包括面向对象的方法)是ؓ了设计的具体实现容易维护,而不是ؓ了得到的API易于使用?br>以场景驱动设计ؓ主,辅以原型制作、可用性研I以及一定数量的q代Q这U方法要比标准的设计Ҏ好得多?br>可用性研I是Z定开发h员真正的需求。这跟需求获取一P设计师此时化wؓ一名需求分析师Q而开发h员则变成了客戗需求分析师不能惛_然的认ؓ客户的真正需求是什么,一定要通过跟客户交才行,站在客户的角度考虑问题。跟需求获取类|可用性研I宜早不宜迟?/li>
  • 要安排可用性研I来试用于主要场景的API?br>如果开发h员在Z要场景编写代码时Q遇到较大问题,则说明API需要重新设计。在原有API的基上修改,开销反而大Q而且是很大?/li>


adaiye 2007-08-29 17:34 发表评论
]]>?NET设计规范》——学习笔讎ͼ1Q?/title><link>http://m.tkk7.com/adaiye/archive/2007/08/28/140588.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Tue, 28 Aug 2007 08:56:00 GMT</pubDate><guid>http://m.tkk7.com/adaiye/archive/2007/08/28/140588.html</guid><wfw:comment>http://m.tkk7.com/adaiye/comments/140588.html</wfw:comment><comments>http://m.tkk7.com/adaiye/archive/2007/08/28/140588.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/adaiye/comments/commentRss/140588.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/adaiye/services/trackbacks/140588.html</trackback:ping><description><![CDATA[     摘要: 如果框架的设计者能够站在用者背后解释应该如何用框Ӟ那么׃需要同规范了?nbsp; <a href='http://m.tkk7.com/adaiye/archive/2007/08/28/140588.html'>阅读全文</a><img src ="http://m.tkk7.com/adaiye/aggbug/140588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/adaiye/" target="_blank">adaiye</a> 2007-08-28 16:56 <a href="http://m.tkk7.com/adaiye/archive/2007/08/28/140588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java垃圾攉法(?http://m.tkk7.com/adaiye/archive/2007/08/27/140121.htmladaiyeadaiyeMon, 27 Aug 2007 12:35:00 GMThttp://m.tkk7.com/adaiye/archive/2007/08/27/140121.htmlhttp://m.tkk7.com/adaiye/comments/140121.htmlhttp://m.tkk7.com/adaiye/archive/2007/08/27/140121.html#Feedback4http://m.tkk7.com/adaiye/comments/commentRss/140121.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/140121.html阅读全文

adaiye 2007-08-27 20:35 发表评论
]]>
接口和抽象类的定义方式D例说??http://m.tkk7.com/adaiye/archive/2007/08/26/139652.htmladaiyeadaiyeSun, 26 Aug 2007 14:59:00 GMThttp://m.tkk7.com/adaiye/archive/2007/08/26/139652.htmlhttp://m.tkk7.com/adaiye/comments/139652.htmlhttp://m.tkk7.com/adaiye/archive/2007/08/26/139652.html#Feedback2http://m.tkk7.com/adaiye/comments/commentRss/139652.htmlhttp://m.tkk7.com/adaiye/services/trackbacks/139652.html本位转自中国IT实验?/p>

原文地址Q?a target="_blank">接口和抽象类的定义方式D例说?/font>

接口定义
关于java的接口定义方式,以下三种情况下可以采用接口定义方式:
1.    接口中声明的变量全部为final 和staticcd的,q且q个接口的作用在于定义一些g能改变的变量?br>举个例子Q?br>public interface ObjectConstants{
public static final String SPACE = new String(" ");
public static final char FORMFEED = '\f';
}
2.    接口中只定义可供实现的抽象方?br>EventListener.java
    public interface EventListener {
    public void handleEvent(Event evt);
    }
Runnable.java
package java.lang;
    public interface Runnable {   
    public abstract void run();
    }
3.    q有一U方式是上述两种方式的组合,如非必要一般会这样一个接口定义拆分成两个接口定义
抽象cȝ定义
1.    如果一个类包含一个接口但是不完全实现接口定义的方法,那么该类必须定义成abstract?br>例如InputStream.javacȝ定义方式Q?br>package java.io;
public abstract class InputStream implements Closeable {
    // SKIP_BUFFER_SIZE is used to determine the size of skipBuffer
    private static final int SKIP_BUFFER_SIZE = 2048;
    // skipBuffer is initialized in skip(long), if needed.
    private static byte[] skipBuffer;   
    public abstract int read() throws IOException;
    public int read(byte b[]) throws IOException {
    return read(b, 0, b.length);
    }   
    public int read(byte b[], int off, int len) throws IOException {
    if (b == null) {
        throw new NullPointerException();
    } else if ((off < 0) || (off > b.length) || (len < 0) ||
           ((off + len) > b.length) || ((off + len) < 0)) {
        throw new IndexOutOfBoundsException();
    } else if (len == 0) {
        return 0;
    }
    int c = read();
    if (c == -1) {
        return -1;
    }
    b[off] = (byte)c;
    int i = 1;
    try {
        for (; i < len ; i++) {
        c = read();
        if (c == -1) {
            break;
        }
        if (b != null) {
            b[off + i] = (byte)c;
        }
        }
    } catch (IOException ee) {
    }
    return i;
    }
 public long skip(long n) throws IOException {
    long remaining = n;
    int nr;
    if (skipBuffer == null)
        skipBuffer = new byte[SKIP_BUFFER_SIZE];
    byte[] localSkipBuffer = skipBuffer;        
    if (n <= 0) {
        return 0;
    }
    while (remaining > 0) {
        nr = read(localSkipBuffer, 0,
              (int) Math.min(SKIP_BUFFER_SIZE, remaining));
        if (nr < 0) {
        break;
        }
   remaining -= nr;
    }    
    return n - remaining;
    } 
    public int available() throws IOException {
    return 0;
    }   
    public void close() throws IOException {}  
    public synchronized void mark(int readlimit) {}    
    public synchronized void reset() throws IOException {
    throw new IOException("mark/reset not supported");
    }
    public boolean markSupported() {
    return false;
    }
}
2.    抽象cȝҎ体中只定义抽象的ҎQ例如AbstractMethodError.java
    package java.lang;
    public class AbstractMethodError extends IncompatibleClassChangeError {
    public AbstractMethodError() {
    super();}
    public AbstractMethodError(String s) {
    super(s); }
}



adaiye 2007-08-26 22:59 发表评论
]]>
վ֩ģ壺 vavavaþ| ĻƷѾþӰԺ| ˳߲վ| ֳִˬֳƵ| ߹ۿëƬ| ˾ƷۺƵ| ޾Ʒھþ| þùһƬѹۿ| ɫþþ99Ʒ| þֻƷ99re| ޾Ʒ| 뾫ƷAVӰ| AVվ߹ۿ| 131ŮƵ| һƬƵ| ޹ƷƬþ| 4444wwwѿ| ޹va| ŮѹۿƬ| ȫAһëƬ| ۺ޾Ʒ| ߹ۿѲ| gvh߹ۿ| պƷһ| Ӱɫۺ| ޱAAAר| ۵Ӱ߹ۿ| ɫͷվ| ϸëƬ| gvС߹ۿ| Ů߾Ʒѹۿ| ԰߹ۿ91| þþ뾫ƷպĦ | ůůƵƵ| ޹պ˳| ƷƷŮѹۿ| ԴԴѹۿ| ۺŷɫ°Ҳȥ| Ļ޵һ| þùƵ| 㽶Ƶѿ|