Éè¼Æģʽ֮Factory,Java¹¤³§·½·¨
ÊõÓïÃû³Æ£ºFactory
ÊõÓï½âÊÍ£º¹¤³§Ä£Ê½,ÓÃÀ´Ìṩ´´½¨¶ÔÏóµÄ½Ó¿Ú.
¹¤³§Ä£Ê½¹¦ÄܵÄÏêϸ½âÊÍ£º
¹¤³§Ä£Ê½ÊÇÎÒÃÇ×î³£ÓõÄģʽÁË,ÖøÃûµÄJiveÂÛ̳ ,¾Í´óÁ¿Ê¹ÓÃÁ˹¤³§Ä£Ê½£¬¹¤³§Ä£Ê½ÔÚJava³ÌÐòϵͳ¿ÉÒÔ˵ÊÇËæ´¦¿É¼û¡£
Ϊʲô¹¤³§Ä£Ê½ÊÇÈç´Ë³£Óã¿ÒòΪ¹¤³§Ä£Ê½¾ÍÏ൱ÓÚ´´½¨ÊµÀý¶ÔÏóµÄnew£¬ÎÒÃǾ³£Òª¸ù¾ÝÀàClassÉú³ÉʵÀý¶ÔÏó£¬ÈçA a=new A() ¹¤³§Ä£Ê½Ò²ÊÇÓÃÀ´´´½¨ÊµÀý¶ÔÏóµÄ£¬ËùÒÔÒÔºónewʱ¾ÍÒª¶à¸öÐÄÑÛ£¬ÊÇ·ñ¿ÉÒÔ¿¼ÂÇʵÓù¤³§Ä£Ê½£¬ËäÈ»ÕâÑù×ö£¬¿ÉÄܶà×öһЩ¹¤×÷£¬µ«»á¸øÄãϵͳ´øÀ´¸ü´óµÄ¿ÉÀ©Õ¹ÐԺ;¡Á¿ÉÙµÄÐÞ¸ÄÁ¿¡£
ÎÒÃÇÒÔÀàSampleΪÀý£¬ Èç¹ûÎÒÃÇÒª´´½¨SampleµÄʵÀý¶ÔÏó:
Sample sample=new Sample();
¿ÉÊÇ£¬Êµ¼ÊÇé¿öÊÇ£¬Í¨³£ÎÒÃǶ¼ÒªÔÚ´´½¨sampleʵÀýʱ×öµã³õʼ»¯µÄ¹¤×÷,±ÈÈ縳ֵ ²éѯÊý¾Ý¿âµÈ¡£ ×Ö´®5
Ê×ÏÈ£¬ÎÒÃÇÏëµ½µÄÊÇ£¬¿ÉÒÔʹÓÃSampleµÄ¹¹Ô캯Êý£¬ÕâÑùÉú³ÉʵÀý¾Íд³É:
Sample sample=new Sample(²ÎÊý);
µ«ÊÇ£¬Èç¹û´´½¨sampleʵÀýʱËù×öµÄ³õʼ»¯¹¤×÷²»ÊÇÏó¸³ÖµÕâÑù¼òµ¥µÄÊ£¬¿ÉÄÜÊǺܳ¤Ò»¶Î´úÂ룬Èç¹ûҲдÈë¹¹Ô캯ÊýÖУ¬ÄÇÄãµÄ´úÂëºÜÄÑ¿´ÁË£¨¾ÍÐèÒªRefactorÖØÕû£©¡£
Ϊʲô˵´úÂëºÜÄÑ¿´£¬³õѧÕß¿ÉÄÜûÓÐÕâÖָоõ£¬ÎÒÃÇ·ÖÎöÈçÏ£¬³õʼ»¯¹¤×÷Èç¹ûÊǺܳ¤Ò»¶Î´úÂ룬˵Ã÷Òª×öµÄ¹¤×÷ºÜ¶à£¬½«ºÜ¶à¹¤×÷×°ÈëÒ»¸ö·½·¨ÖУ¬Ï൱ÓÚ½«ºÜ¶à¼¦µ°·ÅÔÚÒ»¸öÀº×ÓÀÊǺÜΣÏյģ¬ÕâÒ²ÊÇÓб³ÓÚJavaÃæÏò¶ÔÏóµÄÔÔò£¬ÃæÏò¶ÔÏóµÄ·â×°(Encapsulation)ºÍ·ÖÅÉ(Delegation)¸æËßÎÒÃÇ£¬¾¡Á¿½«³¤µÄ´úÂë·ÖÅÉ“ÇиÉÿ¶Î£¬½«Ã¿¶ÎÔÙ“·â×°”ÆðÀ´(¼õÉٶκͶÎÖ®¼äżºÏÁªÏµÐÔ)£¬ÕâÑù£¬¾Í»á½«·çÏÕ·ÖÉ¢£¬ÒÔºóÈç¹ûÐèÒªÐ޸ģ¬Ö»Òª¸ü¸Äÿ¶Î£¬²»»áÔÙ·¢ÉúÇ£Ò»¶¯°ÙµÄÊÂÇé¡£
ÔÚ±¾ÀýÖУ¬Ê×ÏÈ£¬ÎÒÃÇÐèÒª½«´´½¨ÊµÀýµÄ¹¤×÷ÓëʹÓÃʵÀýµÄ¹¤×÷·Ö¿ª, Ò²¾ÍÊÇ˵£¬Èô´½¨ÊµÀýËùÐèÒªµÄ´óÁ¿³õʼ»¯¹¤×÷´ÓSampleµÄ¹¹Ô캯ÊýÖзÖÀë³öÈ¥¡£ ×Ö´®5
ÕâʱÎÒÃǾÍÐèÒªFactory¹¤³§Ä£Ê½À´Éú³É¶ÔÏóÁË£¬²»ÄÜÔÙÓÃÉÏÃæ¼òµ¥new Sample(²ÎÊý)¡£»¹ÓÐ,Èç¹ûSampleÓиö¼Ì³ÐÈçMySample, °´ÕÕÃæÏò½Ó¿Ú±à³Ì,ÎÒÃÇÐèÒª½«Sample³éÏó³ÉÒ»¸ö½Ó¿Ú.ÏÖÔÚSampleÊǽӿÚ,ÓÐÁ½¸ö×ÓÀàMySample ºÍHisSample .ÎÒÃÇҪʵÀý»¯ËûÃÇʱ,ÈçÏÂ:
Sample mysample=new MySample();
Sample hissample=new HisSample();
Ëæ×ÅÏîÄ¿µÄÉîÈë,Sample¿ÉÄÜ»¹»á"Éú³öºÜ¶à¶ù×Ó³öÀ´", ÄÇôÎÒÃÇÒª¶ÔÕâЩ¶ù×ÓÒ»¸ö¸öʵÀý»¯,¸üÔã¸âµÄÊÇ,¿ÉÄÜ»¹Òª¶ÔÒÔÇ°µÄ´úÂë½øÐÐÐÞ¸Ä:¼ÓÈëºóÀ´Éú³ö¶ù×ÓµÄʵÀý.ÕâÔÚ´«Í³³ÌÐòÖÐÊÇÎÞ·¨±ÜÃâµÄ.
µ«Èç¹
Ïà¹ØÎĵµ£º
ÎÒ½ñÌìѧϰÁ˹ýÂËÆ÷£¨filter£©µÄ֪ʶ£¬ÊÇ·ëÀÏʦ½²µÄ¿Î£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
Servlet¹ýÂËÆ÷£¨Filter£©£º²»ÏÞ¶¨ÓÚ¾ßÌåµÄÐÒé
Ò»¡¢ ʹÓÃÀ¹½ØÉèÖÃÇëÇó×Ö·û±àÂ룬¹ýÂË·Ç·¨ÎÄ×Ö£¬ÑéÖ¤¿Í»§ÊÇ·ñÒѾµÇ½£¬
¶þ¡¢ ±àд¹ ......
½ñÌìÊǵÚÒ»Ìì½Ó´¥¿ò¼ÜµÄ֪ʶ£¬Ñ§Ï°struts£¬Îҷdz£¸ÐÐËȤ£º
StrutsʹÓõıêÇ©¿â£º
l struts-bean.tld: bean±êÇ©µÄÃèÊöÎļþ,bean±êÇ©ÓÃÓÚ·ÃÎÊJavaBeansºÍËüÃǵĹØÁªÊôÐÔ£¬Ò²¿ÉÒÔÓÃÓÚ¶¨ÒåеÄBean
l struts-html.tld: html±êÇ©µÄÃèÊö ......
½ñÌìÙ¡ÀÏʦ½ÌÎÒÃÇʹÓÃajax¼¼ÊõÀ´Íê³ÉÊý¾Ý¿â¼¶Áª²éѯµÄÒ»¸öСÏîÄ¿£¬¿ÎÏÂÎÒ¶ÔÕâ¸öÏîÄ¿×öÁËÒÔϱʼǣº
AjaxСÏîÄ¿£ºÊ¹Óõļ¼Êõ£ºc3p0Á¬½Ó³Ø¡¢struts£¬jquery¼°Æä²å¼þ¡¢dbutil
a) ²½Ö裺ÅäÖÃc3p0µÄÊý¾Ý¿âÁ¬½Ó³Ø,µ¼Èëjar°ü£¬µ¼ÈëoracleÇý¶¯£¬
b) Ìí ......
Ç°ÎÀ¼¼Êõ ¡¶Ä§ÊÞÍâ´«¡·È«ÐÂJAVAÒýÇæ
¡¶Ä§ÊÞÍâ´«¡·ÊÇÓÉÏã³ÈÍøÂçÊ×´ÎÍ»ÆÆFLASHÒýÇæÏÞÖÆ£¬²ÉÓÃJAVAÒýÇæ×ÔÖ÷Ñз¢µÄ¶¯Ì¬Õ½¶·²ßÂÔÀàÓÎÏ·¡£ËùνJava¾ÍÊÇÒ»ÖÖ¼òµ¥µÄ£¬ÃæÏò¶ÔÏóµÄ£¬½¡×³°²È«µÄ£¬½á¹¹ÖÐÁ¢µÄ£¬ÐÔÄÜÓÅÒì¡¢¶àÏ̵߳Ķ¯Ì¬ÓïÑÔ¡£ËüµÄÓï·¨ÓëCÓïÑÔºÍC++ÓïÑԺܽӽü£¬µ«ÊDZ÷ÆúÁËC++ÖкÜÉÙʹÓõġ¢ºÜÄÑÀí½âµÄ¡¢ÁîÈËÃÔ»óµÄÄÇÐ©Ì ......
Java³ÌÐòÔ±µÄÃÔʧ—ÂÛ“ÐéÄâ»ú”
2009Äê08Ô ×÷Õߣº¶«·½Ö©ÖëÒë
ÐéÄâ»ú¼¼ÊõÏÖÔڷdz£ÈÈÃÅ£¬ÈËÃÇÈÏΪËü¿ÉÒÔÍê³ÉÒ»ÇÐÊÂÇé¡£ÈËÃÇÈÈÖÔÓÚÈÃJVM¿ÉÒÔÔËÐÐRuby¡¢PHP»òÆäËüһЩÈÈÃÅÓïÑÔ£¬ÒÔ¼°Ö§³ÖÏñJava FXÖ®ÀàµÄ¼¼Êõ¡£ÕâÖÖÏÖÏóÊǺÃÊÇ»µ£¿Joe WinchesterÒÔ×Ô¼ºµÄ¾ÀúÀ´ÂÛÖ¤Á˶Դ˵Ŀ´·¨¡£
ÔÚJava³öÏÖ֮ǰÎÒ ......