ÃÎÏë·ç±©

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/index.php?blogid=4212&pg=11&cat= 存档链接: https://web.archive.org/web/20040812223531id_/http://www.blogbus.com:80/blogbus/blog/index.php?blogid=4212&pg=11&cat=


ÃÎÏë·ç±© Ò»¸öĞ¡³ÌĞòÔ±µÄĞſڿªºÓ Ê×Ò³ Java (20) ÎÒÑÛ¿´ÊÀ½ç (20) ½Åϵķ (32) ²Ù×÷ϵͳ (3) ´óÍ·ÎÄÕ (6) ·ÖÒ³: µÚÒ»Ò³ [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] ×îºóÒ³ 2004-03-19 23:15 ÓÖÊÇÒ»ÄêJoltʱ µÚ14½ìµÄJolt´ó½±ÆÀÑ¡½á¹û½ÒÏşÁË£¡ ͨÓÃÀàͼÊéJolt´ó½±±»¡¶Waltzing with Bears: Managing Risk on Software Projects¡·ÄÃ×ߣ¬Ò»±¾½²ÏîÄ¿·çÏÕµÄÊ飬Tom DemarcoºÍTimothy Lister¿ÉÊÇ¡¶Peopleware¡·µÄ×÷Õߣ¬´óʦ³öÊÖ¹ûÈ»²»Í¬·²Ïì¡£¿ªÔ´ÏÈ·æEric S. RaymondµÄ´ó×÷¡¶The Art of UNIX Programming¡·Ö»ÄÜÇü¾ÓÑǾüÁË¡£ ¼¼ÊõÀàͼÊéJolt´ó½±ÊÇ¡¶Test-Driven Development: A Practical Guide¡·£¬Ãô½İµÄÓÖÒ»´ÎʤÀû£¬²»¹ı£¬Õâ¿É²»ÊÇKent BeckµÄÄDZ¾¡£KentµÄÄDZ¾ÊÇBy Example£¬Õâ±¾ÊÇA Practical Guide£¬AmazonµÄËÄĞÇÖ®×÷¡£ÎÒËùÖªµÀµÄÁíÒ»±¾Öø×÷¡¶Code Reading: The Open Source Perspective¡·Äõ½ÁËProductivity´ó½±¡£ÁíÒ»±¾´óʦ֮×÷£¬Erich GammaºÍKent BeckËùÖøµÄ¡¶Contributing to Eclipse: Principles, Patterns, and Plugins¡·°ñÉÏÎŞÃû£¬Ö»ÄܹÖÑ¡ÌâÂÔÆ«ÁË¡£ Óв»ÉÙÎÒÃÇÊìϤµÄ¶«Î÷°ñÉÏÓĞÃû£¬Eclipse¶á×ßÁËÓïÑÔÓ뿪·¢»·¾³µÄJolt´ó½±£¬IntelliJ IDEAÊÇÕâÏîProductivity´ó½±¡£HibernateÊdzÌĞò¿â¡¢¿ò¼ÜºÍ×é¼şÀàµÄJolt´ó½±¡£IBMµÄdeveloperWorksÊÇÍøÕ¾ÀàµÄJolt´ó½±¡£DreamweaverÔò×ß½øÁËÃûÈËÌᣠJolt´ó½±×ÜÊÇÒ»¸öºÃ¶«Î÷¼¯É¢µØ£¬°´Í¼Ë÷æ÷¶à°ëÊÇû´íµÄ¡£ dreamhead @ 23:15 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒıÓÃTrackback(0) | ±à¼­ 2004-03-19 22:47 ¼ÍÄîBlogbus»Ø¹é ÎÒ¹ûÈ»ÊǸöϰ¹ßµÄ¶¯Îϰ¹ßÁËÿ¸ô¼¸Ìì¾Í°Ñ×Ô¼ºÁèÂÒµÄ˼ά±í´ïÔÚblogÉÏ£¬Ï°¹ßÁËʱ²»Ê±¿´¿´×Ô¼ºblogµÄ·ÃÎÊÁ¿ÓжàÉÙµÄÔö¼Ó¡£ ´ÓÀ´Ã»ÓĞÒâʶµ½×Ô¼º¾¹È»¶ÔblogÓĞ×ÅÈç´ËÑÏÖØµÄÒÀÀµ¡£ Ò»Ò¹Ö®¼ä£¬BlogbusÍ£ÁË¡£ ÎÒºöÈ»ÓĞÁËÖÖ²»ÖªËù´ëµÄ¸Ğ¾õ£¬Ô­À´Ï°¹ßµÄÁ¦Á¿Èç´Ë¾Ş´ó¡£ BlogbusÍ£°ÚµÄÔ­ÒòÖÚËùÖÜÖª¡£ ÓÎÏ·×ÔÓĞËüµÄ¹æÔò£¬²ÎÓëÆäÖĞ×ÔÈ»ÊÇΪÁË»ñµÃËüµÄÀÖȤ¡£É˼°Î޹¼µÄÓÎÏ·Õß×ÜÊÇ»áÊܵ½ÆäËûÓÎÏ·ÕߵıÉÒÄ¡£ÎªÁË´ó¼Ò¹²Í¬µÄÀÖȤ£¬ÎÒÃÇ»¹ÊÇÓ¦¸Ã×ñÊØÓÎÏ·µÄ¹æÔò¡£ ½ñÒ¹£¬±¾À´ÒѾ­×öºÃÁË˯¾õµÄ×¼±¸£¬ÎŞÒâ¼äµÄ³¢ÊÔÈÃÎÒ¾ªÏ²µÄ·¢ÏÖblogbusµÄ»Ø¹é¡£ ĞÀϲ֮Ó࣬¸Ï½ôµ÷¶¯´óÄÔÖĞĞİÏ¢Á˼¸ÈÕµÄϸ°ûΪ´Ë¼ÍÄîÒ»·¬£¬ÓÚÊÇÓĞÁËÕâÆªBlog¡£ dreamhead @ 22:47 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(0) | ÒıÓÃTrackback(0) | ±à¼­ 2004-03-11 22:45 ÀíÏëºÍÏÖʵ gigixÓÖÒ»´ÎÔÙCSDNÉÏÊܵ½Á˹¥»÷£¬Õâ´ÎÊÇÒòΪ¿ªÔ´¡£ http://www.csdn.net/develop/article/25/25146.shtm ´ÓÈ¥Ä꿪ʼ£¬ÎÒÖğ½¥³ÉΪÁËÒ»¸ö¿ªÔ´µÄÖÒʵ֧³ÖÕߣ¬ËäÈ»ÎÒʵ¼Ê²ÎÓëµ½¿ªÔ´»î¶¯²¢²»ÊǺܶ࣬µ«¶ÔÓÚ¿ªÔ´µÄÎÄ»¯£¬ÎÒ³äÂúÁËÎŞÏŞµÄã¿ã½¡£ ¾ÍÎÒ¸öÈ˶øÑÔ£¬ÒѾ­´Ó¿ªÔ´ÖĞÊÜÒæ·ËdzÁË¡£ ÎÒÊÇÒ»¸ö²»Ï²»¶±»ÃÉÔÚ¹ÄÀïµÄÈË£¬ËùÒÔ£¬×ÜÏëͱÆÅ×îºóÒ»²ãµÄ´°»§Ö½£¬¿ªÔ´ÏîÄ¿¸øÁËÎÒÕâ¸ö»ú»á¡£¿´¿´¿ªÔ´ÏîÄ¿Éæ¼°µÄ·¶Î§£¬´Ó²Ù×÷ϵͳµ½Êı¾İ¿â£¬´ÓÓ¦Ó÷şÎñÆ÷µ½Ó¦Óÿò¼Ü£¬Ö»ÒªĞÄ´æÒÉÂÇ£¬ÍêÈ«¿ÉÒÔ´òÆÆÉ³¹ø¡£ Ôø¾­ÔÚWindowsÉÏĞ´¹ı³ÌĞò£¬ÄÇʱµÄÎÒĞÄÖĞÍêȫûÓĞ¿ªÔ´µÄ¸ÅÄMS´ø¸øÎÒµÄWindowsÎÄ»¯×ÜÊÇÈôÓĞÈôÎŞµÄ˵£¬ÉÙÖªµÀÒ»µãºÃ¡£ËùÒÔ£¬¶ÔWindowsϵijÌĞò£¬ÎÒ×ÜÊÇĞÄÓв»Ë¬£¬³ıÁË×Ô¼ºµÄ²»¹»Å¬Á¦Ö®Í⣬ÎÄ»¯µÄÁ¦Á¿Ò²²»¿ÉĞ¡êï¡£ ¿ªÔ´£¬ÈÃÎÒÓĞÁËÒ»¸öÏò¸ßÊÖѧϰµÄ»ú»á¡£ÏëÏë°É£¡²»¾­Òâ¼ä´ò¿ªµÄÄǸöÎļş£¬ËüµÄ×÷Õß¾ÍÊÇÄǸöÏíÓş³ÌĞòÉè¼ÆÊÀ½çµÄ¶¥¼¶¸ßÊÖ£¬ÔĶÁÔ´Âë£¬ÎŞÒìÓÚͬÕâλ»òĞíÎŞÔµÄ±ÃæµÄ¸ßÊÖÃæ¶ÔÃæÌ¸ĞÄ¡£¸Ğ¿®µØÇò¹ûÈ»ÊǸö¡°´å¡±µÄͬʱ£¬²»Íü͵ѧ¸öÒ»Õаëʽ£¬¶ÔÓÚÈÕºóµÄ´³µ´½­ºşÓĞÀû¶øÎޱס£ G-RollerÊÇÎÒ²ÎÓë×î¶à£¬Í¬Ê±Ò²ÊÇÊÜÒæ×î¶àµÄÒ»¸ö¿ªÔ´ÏîÄ¿¡£ ÎÒÃÇÏîÄ¿ÏÖÔڵĵײã½á¹¹ÍêÈ«ÊÇ´ÓG-Roller½è¼øÀ´µÄ¡£ G-RollerÊÇÒ»¸ö·Ç³£ºÃµÄ½Ì²Ä£¬²»µ«ÑİʾÁËÖîÈçStruts¡¢Hibernate¡¢SpringFrameworkµÈ¼¸¸öÓÅĞãµÄ¿ªÔ´Èí¼ş°üµÄÓ÷¨£¬Í¬Ê±ºÜºÃµÄÚ¹ÊÍÁËIoCµÄ¸ÅÄî¡£ ÎÒ¾ÍÊÇ´ÓG-Roller¿ªÊ¼Á˽âSpringFramework£¬¿ªÊ¼Àí½âIoCµÄ¡£ »Øµ½gigixÔÚCSDNÉÏÔâÊܹ¥»÷µÄ»°ÌâÉÏ¡£ ´ó¶àÊıµÄ¹¥»÷¶¼·ÅÔÚÀíÏëºÍÏÖʵµÄ½áºÏµãÉÏ£¬×ö¿ªÔ´£¬Éú»îÔõô°ì£¿ ´ó¶àÊıÖйú³ÌĞòÔ±¹é¸ù½áµ×Ò»¸ö×Ö£¬Çî¡£ ÎïÖÊÉú»îÎŞ·¨µÃµ½±£Ö¤µÄǰÌáÏ£¬ºÜÄÑͶÈëºÜ´ó¾«Á¦È¥×ö¿ªÔ´¡£ÏñһЩ´ó¹«Ë¾Í¶ÈëרÈË×ö¿ªÔ´µÄÇé¿ö±Ï¾¹ÊÇÉÙÊı¡£Ëµµ½Õ⣬ÏëÆğÁËÎÒµÄÒ»¸öͬѧ£¬ËûÔÚÒ»¼Ò´ó¹«Ë¾£¬×ö×ÅLinux¿ª·¢£¬Ö°Òµ½áºÏ¿ªÔ´£¬×ÅʵÁîÈËÏÛĽ¡£ ·´¹ıÀ´£¬¿Öź°ÇîµÄÕâĞ©ÈËÕæµÄÓĞÒ»Ì츻ÁËÆğÀ´£¬ËûÃÇ»áÔ¸ÒâÈ¥×ö¿ªÔ´Â𣿲»¼ûµÃ¡£ ×ö¿ªÔ´µÄÈ˶à°ëÒªÓĞһЩÀíÏëÖ÷Ò壬̫¹ıÏÖʵµÄÈË¿ÖŲ»Ô¸Ò⻨·Ñʱ¼äÔÚÎŞ·¨»ñµÃÊÕÈëµÄµØ·½¡£ Ò»¸ö¿ªÔ´ÏîĿ֮³õ¸ü¶àµÄÒÀÀµÓÚÆä³ÉÔ±µÄ¸¶³ö£¬µ«Ï볤ʱ¼äµÄÔË×÷¿ÖžͲ»ÊÇÄÇô¼òµ¥ÁË¡£ ÎÒµÄÒ»¸öͬÊÂÊǹúÄÚÒ»¸öÖªÃû¿ªÔ´ÉçÇøµÄºËĞijÉÔ±£¬Ëû³£³£¶ÔÎÒ˵£¬ÒªÊÇÓбÊ×ʽğ×¢È룬ËûÃǵÄÏîÄ¿¿ÉÒÔ×öµÃ¸üºÃ¡£ Õâ¾ÍÊÇÀíÏëºÍÏÖʵ¡£ dreamhead @ 22:45 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(0) | ÒıÓÃTrackback(0) | ±à¼­ 2004-03-08 22:18 Ä£ÄâÓï·¨½á¹¹ ÏîÄ¿×éµÄÒ»¸öĞÖµÜÌá³öÒ»¸öÁîÎÒÄ¿µÉ¿Ú´ôµÄÏë·¨£¬Ä£ÄâÓï·¨½á¹¹¡£ ʵ¼Ê×ö·¨ºÜ¼òµ¥£¬ÏÂÃæÒÔJavaÓïÑÔ½²½âÒ»·¬¡£ ѧ¹ı±à³ÌÓïÑԵĶ¼ÖªµÀ£¬Óï¾äÊdzÌĞòÉè¼ÆÖеÄÒ»¸ö»ù±¾µ¥Î»£¬´óÓï¾äÓÉĞ¡Óï¾ä×é³É¡£ ÎÒÃǶ¨ÒåÓï¾äÈçÏ£º public interface Statement { public void execute(Context context) throws Exception; } ÆäÖĞcontextÊÇÓÃÀ´´æ·ÅÖ´ĞĞÓï¾äËùĞèµÄÏà¹ØĞÅÏ¢µÄÒ»¸ö½Ó¿Ú¡£ Ò»µ©¿´µ½ÁËÓï¾äµÄ³öÏÖ£¬ÎÒÃǺÜ×ÔÈ»¾Í»áÁªÏ뵽˳ĞòÓï¾ä¡¢Ñ¡ÔñÓï¾äºÍÑ­»·Óï¾äµÈµÈ£¬Õ⼸ÖÖÓï¾äÒ²ÊÇÓï¾ä£¬¿´ÆğÀ´ÕâÊÇ·Ï»°£¬Êµ¼ÊÉÏÎÒÖ¸µÄÊÇLSP£¨LiskovÌæ»»Ô­Ôò£©¡£ËùÒÔ£¬ÎÒÃÇÈÃÕ⼸ÖÖÓï¾äÒ²³ÉΪÓï¾ä£¬ÏÂÃæ¸ø³öÒ»ÖÖ¿ÉÄܵÄ˳ĞòÓï¾äʵÏÖ£º public final class Sequence implements Statement { private Statement[] statements; public Sequence(final Statement[] statements) { this.statements = statements; } public void setStatements(final Statement[] statements) { this.statements = statements; } public void execute(Context context) throws Exception { for (int i = 0; i < this.statements.length; i++) { this.statements[i].execute(context); } } } ½á¹¹ºÜ¼òµ¥£¬Ë³ĞòÓï¾äÓÉÒ»¶Ñ¡°Óï¾ä¡±×é³É£¬execute¾ÍÊÇ˳Ğòµ÷ÓþÍOKÁË¡£ ÎÒÃÇ¿ÉÒÔÓÃͬÑùµÄ·½·¨ÊµÏÖÑ¡ÔñÓï¾ä¡¢Ñ­»·Óï¾ä¡£ µ½ÕâÀÎÒÃÇ¿ÉÄÜ»¹ÎŞ·¨¿´³öÕâÖֽṹµÄÓŵ㣺ÓïÑÔÒѾ­ÌṩÁ˺ܺõĽṹ£¬ÎªÊ²Ã´ÒªÄ£Ä⣿ Õâô×ö×îÎüÒıÎҵĵط½¾ÍÔÚÓÚËüµÄ¿ÉÅäÖÃĞÔ¡£ IoC£¬Robert Martin½ĞËüDIP£¬¶ÔÁË£¬Martin Flower¸øËü¸ÄÁ˸öÃû½ĞDependency Injection£¬×î½ü±È½Ï»ğ±¬£¬¡¶³ÌĞòÔ±¡·2004ÄêµÚÈıÆÚÉÏÓĞһƪgigix·­ÒëMartin FlowerµÄÄÇÆª¡¶Inversion of Control Containers and the Dependency Injection pattern¡·±È½ÏÏêϸµÄÌÖÂÛÁËËü¡£ ÉÔ΢¶ÔËüÊìϤһµãµÄ»°£¬ÎÒÃDz»ÄÑ¿´³ö£¬ÉÏÃæSequenceµÄʵÏÖÓõ½ÁËsetterºÍconstructor£¬ËüÃÇ·Ö±ğ´ú±íÁËIoCµÄtype 2ºÍtype 3£¬Í¨¹ıÕâÖÖ·½Ê½£¬ÎÒÃǾͿÉÒÔºÜÇáËɵÄÅäÖÃ×Ô¼ºµÄÓ¦ÓÃÁË¡£ ÎÒÖªµÀÕâô˵£¬»¹»áÈÃÈËÓĞһͷÎíË®µÄ¸Ğ¾õ¡£ ÎÒÃÇÓ¦ÓõÄа汾ÊÇÔÚSpringFrameworkµÄ»ù´¡ÉϹ¹½¨ÆğÀ´µÄ£¬SpringFramework¾ÍÊÇÒ»¸öºÜºÃµÄIoCÈİÆ÷¡£ËüÈÃÎÒÃÇ¿ÉÒÔͨ¹ıÅäÖÃÎļşÀ´¹¹½¨Õû¸öÓ¦Óᣠ¼ÙÉèBasicProcessor1ºÍBasicProcessor2ÊÇÁ½¸öʵÏÖÁËStatement½Ó¿ÚµÄÀࡣʹÓÃSpringFramework£¬ÎÒÃÇ¿ÉÒÔÕâÑù¹¹½¨×Ô¼ºµÄÓ¦ÓᣠÆäÖĞ£¬processor1ºÍprocessor2¿ÉÒÔ·Ö±ğ¿´×÷BasicProcessor1ºÍBasicProcessor2µÄinstance¡£flowÊÇSequenceµÄÒ»¸öinstance¡£ µ±ÏµÍ³Éú³Éʱ£¬SpringFramework»á×Ô¶¯µ÷ÓÃsetStatements½«processor1ºÍprocessor2×÷Ϊһ¸öÊı×éÉèÖõ½flowÖĞÈ¥¡£ÕâÑù¾ÍʡȥÁËÎÒÃÇÊÖ¹¤ÅäÖÃϵͳµÄ·±Ëö¹¤×÷¡£ ˵ÆğÀ´ºÜÉñÆæ£¬ÆäʵÕâÊÇÀûÓÃÁËJavaBeanµÄÒ»Ğ©ÌØĞÔ¡£ »Øµ½ÎÒÃÇÇ°ÃæµÄÌÖÂÛÉÏ¡£ µ±ÕâÖÖÅäÖ÷½·¨ºÍÄ£ÄâÓï·¨½á¹¹Ïà½áºÏ£¬ÍşÁ¦¾ÍÏÔÏÖ³öÀ´ÁË¡£ ÎÒÃÇÍêÈ«¿ÉÒÔÔÚ²»¸Ä¶¯ÏµÍ³Ô´´úÂëµÄÇé¿öÏ£¬Ğ޸ÄϵͳÉú³ÉµÄÅäÖÃÎļş£¬´Ó¶ø´ïµ½¸Ä±äÁ÷³ÌµÄÄ¿µÄ¡£ Èç¹ûÓĞÁËеÄĞèÇó£¬ÎÒÃÇ¿ÉÒÔµ¥¶À¿ª·¢Ò»¸öStatement£¬È»ºóÔÙ°ÑËüÅäÖõ½ÏµÍ³ÖĞ£¬¶øÔ­ÓеĴúÂëÎŞĞèÈκθ͝¡£ ¶àôÃÀÃîµÄÒ»ÖÖÏë·¨°¡£¡ ·ÅÈÎÎÒÃǵÄ˼Ğ÷¼ÌĞøÇ°ĞĞ£¡ ÕæÕı¿ØÖÆÎÒÃÇÓ¦ÓýṹµÄÊÇÎÒÃǵÄÅäÖÃÎļş¡£ÔÚSpringFrameworkÖĞ£¬ÔÚÒ»¸öÓ¦ÓÃÖĞ¿ÉÒÔÓжà¸öÅäÖÃÎļş£¬ÎÒÃÇ¿ÉÒÔ°Ñ×é¼ş¶¨Òå·ÅÔÚÒ»Æğ£¬¶ø°ÑÁ÷³Ì¿ØÖƵIJ¿·Ö·ÅÔÚÒ»Æğ¡£ÓÚÊÇ£¬ÎÒÃÇÖ»ÒªĞŞ¸ÄÁ÷³Ì¿ØÖƵIJ¿·Ö¾Í¿ÉÒÔ´ïµ½¶ÔÕû¸öϵͳµÄÖØĞÂÉ趨¡£ Ç°ÃæÒѾ­Ëµ¹ı£¬Ä£ÄâÓï·¨½á¹¹ÎŞ·ÇÊÇ˳ĞòÓï¾ä¡¢Ñ¡ÔñÓï¾ä¡¢Ñ­»·Óï¾äµÈµÈ£¬´Ó±¾ÖÊÉÏ˵£¬Ëü¾ÍÊÇÒ»ÃÅÓïÑÔ£¬¶øÎÒÃǵÄÁ÷³ÌÅäÖÃÎļş¾ÍÊÇÕâÖÖÓïÑÔµÄÔ´´úÂ룬ΨһµÄȱÏݾÍÊÇÏà¶Ô·³ËöһЩ¡£ Èç¹ûÎÒÃÇÔÙÏòǰÂõÒ»²½£¬°ÑÄ£ÄâµÄÓï·¨½á¹¹±ä³ÉÕæÕıµÄÓï·¨½á¹¹£¬ÄÇËü¾Í»á³ÉΪһÃÅÕæÕıµÄÓïÑÔ¡£±àÒëÆ÷µÄ¹¤×÷¾ÍÊǽ«Ò»ÖÖÓïÑÔת»¯ÎªÁíÒ»ÖÖÓïÑÔ£¬¶øÎÒÃÇÁ÷³ÌÅäÖÃÎļş±¾Éí¾ÍÊÇÄ£ÄâÓï·¨½á¹¹µÄÔ´Îļş¡£ÎÒÃÇÍêÈ«¿ÉÒÔ¿ª·¢Ò»¸öĞ¡Ğ͵ıàÒëÆ÷£¬½«ÕâÖÖÓïÑÔ±àÒëÉú³ÉÎÒÃÇÁ÷³Ì¿ØÖÆÎļş¡£ ´ïµ½ÕâÒ»²½µÄ»°£¬ÒÔºóµÄÓ¦Óÿª·¢¾Í³ÉÁËÓÃÕâÖÖĞ¡ÓïÑÔÀ´±àĞ´¿ØÖÆÁ÷³Ì£¬Ö»ÓĞÕæÕıµÄж«Î÷²ÅĞèÒªÎÒÃDZàĞ´Java´úÂ룬Õ⽫¼«´óµÄ½µµÍÎÒÃÇ¿ª·¢µÄ¹¤×÷Á¿¡£ »òĞíÕâ»áÒıÆğijЩÈ˵IJ»Ğ¼£¬Ç°ÃæËµ¹ıÄ£ÄâÓï·¨½á¹¹ÊÇΪÁ˲»±àÒë´úÂ룬Èç¹û¿ª·¢×Ô¼ºµÄ±àÒëÆ÷±àÒëºÍÓÃJavac±àÒëÓĞʲô²»Í¬£¿ ¸´Ôӳ̶ȡ£ ¶şÕßËùÔڵIJã´Î²»Í¬£¬ÎÒÃÇÓÃ×Ô¼ºµÄÓïÑÔ¿ØÖƵÄÁ÷³Ì£¬¶ø²»ÊÇϸ½Ú¡£ Èç¹û°ÑÎÒÃǵÄÓïÑÔ±È×÷¸ß¼¶ÓïÑԵϰ£¬ÄÇôֱ½ÓÓÃJava±àĞ´µÄ´úÂëÎŞÒìÓÚÏÖÔڵĻã±à£¬Ïë±Ø´ó¼Ò¶Ô¶şÕߵĿª·¢Ëٶȶ¼ÓĞ×Ô¼ºµÄ±È½Ï°É£¡ Ä£ÄâÓï·¨½á¹¹£¬ÕâÖÖ×ö·¨±¾ÉíÉÏûÓĞʲô¼¼ÊõÄѶȣ¬ÄѵÄÔÚÓÚ°ÑËüÌáÁ¶³öÀ´£¬¹ßĞÔ˼ά³£³£»á¾ÖÏŞÎÒÃǵÄ˼·¡£ »òĞí²»¾­Òâ¼ä£¬ÓÖÒ»¸öºÃÏë·¨¸¡ÏÖÓÚÄÔº£Ö®ÖĞ¡£ ²»ÒªÓÌÔ¥£¬¸Ï¿ì²ÙÆğ¼üÅÌʵÏÖËü£¡ dreamhead @ 22:18 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒıÓÃTrackback(0) | ±à¼­ 2004-03-04 20:46 ƽ·²Ò²Î°´ó °Ñ×Ô¼ºµÄ¡¶Expert One-on-One J2EE Design and Development¡·½è¸øÁËÒ»¸öͬÊ¡£ÔÚËû¶ÁÁËһЩÄÚÈİÖ®ºó£¬ÎÒ½¨ÒéËû½«×Ô¼ºËùѧ¸ø´ó¼Ò½²½²¡£µÃµ½µÄ´ğ°¸³öºõÎÒµÄÒâÁÏ¡£ ¡°ÓĞʲôºÃ½²µÄ£¿¡± ¡°Äã²»ÊÇÒѾ­¿´ÁËһЩÁËÂ𣿡± ¡°¾ÍÊÇûÓĞʲôֵµÃ½²µÄ£¬ÓÖ²»ÏñÄãǰÁ½Ìì½²µÄ¶«Î÷£¬ÄÇôÓĞÉî¶È¡£¡± ¡°¾Í½²½²Äã¿´µÄÊı¾İ·ÃÎÊ¡£¡± ¡°²»¹ıÊǶÔJDBC·â×°µÄһЩС¼¼ÇÉ¡£¡± ¡°Äã¿ÉÒÔºÍÄã×öµÄ½øĞжԱȣ¬·ÖÎöÄÄÖÖÊÖ·¨¸üºÃ¡£¡± ¡°ËüÖ»²»¹ı¸øÒì³£·ÖÁ˸ö²ã´Î£¬ÎÒÃǵÄÏîÄ¿ÖĞÓò»ÉÏ¡£¡± ÿÿѧϰж«Î÷£¬ÎÒ×ÜÓĞÒ»ÖÖĞij±ÅìÅȵĸоõ¡£ÎÒ¸üϲ»¶½â»óºóµÄ¿ì¸Ğ£¬ËäÈ»¿ÉÄܶÔʵ¼Ê¹¤×÷Æğ²»ÁËʲô×÷Óã¬ËùÒÔ£¬ÎÒÈȰ®Ñ§Ï°µÄ¸Ğ¾õ¡£µ±È»£¬ÓĞʱĞÄÖжàÉÙ»á´æÔÚһЩäĿ¡£ ÔÚÎÒ¿´À´£¬µ±ĞÂÏÊÊÂÎïµÄÉñÃØÃæÉ´ÔÚÎÒµÄÕâλͬÊÂÃæÇ°ÏÆÆğµÄʱºò£¬ÊÂʵµÄÕæÏà»áÈÃËû¶Ùʧ̽Ë÷µÄÀÖȤ£¬ÓÚÊÇÒ»ÇĞÒ²¾ÍʧȥÁË×î³õµÄ÷ÈÁ¦¡£ ÕâλͬʶÔ×Ô¼ºµÄ̽Ë÷½á¹ûÈç´Ë²»Ğ¼£¬È´¸ø±ğÈ˵ijɹûÒÔÉñÆæµÄÆÀ¼Û¡£Èç¹û°ÑÎÒǰÁ½Ìì½²µÄÄÇĞ©¶«Î÷½»ÓÉËûÀ´Ñо¿£¬Ñо¿ÍêµÄ½á¹ûºÜ¿ÉÄÜÓÖ»áÊÇ¡°²»¹ıÈç´Ë¡±£¬¶øÃæ¶ÔÎÒµÄĞſڿªºÓ£¬ËûÈ´¾õµÃÕâÊÇÒ»¸öÓĞÉî¶ÈÓĞÄѶȵÄÎÊÌâ¡£ ƽ·²ËöËéµÄÊÂÇéȷʵ²»Èçºêͼ´óÒµÀ´µÃÈÃÈËÈÈѪ·ĞÌÚ£¬µ«Äܹ»×öºÃƽ·²Ğ¡ÊµÄÈËÒÀÈ»ÈÃÈË×ğ¾´¡£Ã÷ÌìÓÖÊÇëÖ÷ϯΪÀ×·æÌâ´ÊµÄ¼ÍÄîÈÕ£¬ÎÒÃÇÓ¡ÏóÖеÄÀ×·æ³ıÁËÖúÈËΪÀÖ£¬ÊÇ·ñ»¹ÓĞ×öºÃƽ·²Ğ¡ÊÂÄØ£¿ ÕÒ³öƽ·²ÖеIJ»Æ½·²£¬ÆäÀÖÎŞÇƻ¹ûÄêÄêÊ죬ΪʲôֻÓĞÔÒÔÚÅ£¶ÙÍ·ÉϵÄÒı³öÍòÓĞÒıÁ¦£¿ÎÒÃDZÉÒÄÆ½·²µÄͬʱҲ¾ÍɥʧÁË´ÓÆ½·²ÖĞ»ñµÃ·¢ÏֵĻú»á¡£ ÈËÓëÈ˲»Í¬£¬Õâ´ó¸Å¾ÍÊÇÉç»á´æÔÚ·Ö¹¤µÄÔ­Òò°É£¡ dreamhead @ 20:46 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒıÓÃTrackback(0) | ±à¼­ ÈÕÀú 2004 Äê 8 Ô Sun Mon Tue Wen Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ×î½ü¸üĞ ×ÔÆä²»±ä¶ø¹ÛÖ® ³õ¿ú½ø³Ì ½ĞÎÒÈçºÎ¡°ÃæÏò½Ó¿Ú¡± ×Ô¾ò·ØÄ¹ ¸´ÔÓϵͳµÄ5¸öÊôĞÔ Æ½ÃñÉñ»° ÎÒµÄJ2EEÎóÇø ÏîÄ¿¼á¿Ç ÖØÔØÓÎÏ· ¾ªÌìÄæ×ª ×îĞÂÆÀÂÛ youngS : ĞòÁĞ»¯µÄ±¾ÒâÖ»ÊÇ. losingant : ÄúËù˵µÄÎÊÌâ³ö×Ô. hhee : ÄãµÄ¹ÛµãÎÒºÜÈÏͬ. tinyfool : ·²×ß¹ıµÄ±ØÁôÏÂ×ã. tinyfool : ´ÖÂÔä¯ÀÀһϣ¬È·. mochow : ÊÇŶ£¬win32µÄ½ø³. caji : EJBͨĞÅÊÇͨ¹ıRMI. tinyfool : windowsµÄ½ø³Ì¾ÍÊ. swallor : ÒÀÎÒ¿´ÓÃWebservi. Jeffrey He : ÎÒ¾õµÃĞòÁĞ»¯´«Êä. ´æµµ ÎÒµÄÁ´½Ó ³Á˼Õß ³ÌĞò½³ ͸Ã÷˼¿¼ ±ùÔÆ Enterprise Application Development ÅÖ×Ó²»¼õ·Ê SpringÖĞÎÄÂÛ̳ Open Source Thoughts Èí¼şÈË Redwood AgileJava tinyfoolµÄ¿ª·¢ÈÕ¼Ç ÄãÊÇÌìʹ£¬Ä㳯ÎÒÒªÊ²Ã´ÄØ£¿ ÆÜ¾ÓÓëÓÎÄÁÖ®µØ