Éè¼Æģʽ֮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¿ÉÄÜ»¹»á"Éú³öºÜ¶à¶ù×Ó³öÀ´", ÄÇôÎÒÃÇÒª¶ÔÕâЩ¶ù×ÓÒ»¸ö¸öʵÀý»¯,¸üÔã¸âµÄÊÇ,¿ÉÄÜ»¹Òª¶ÔÒÔÇ°µÄ´úÂë½øÐÐÐÞ¸Ä:¼ÓÈëºóÀ´Éú³ö¶ù×ÓµÄʵÀý.ÕâÔÚ´«Í³³ÌÐòÖÐÊÇÎÞ·¨±ÜÃâµÄ.
µ«Èç¹
Ïà¹ØÎĵµ£º
½ñÌìÊǵÚÒ»Ìì½Ó´¥¿ò¼ÜµÄ֪ʶ£¬Ñ§Ï°struts£¬Îҷdz£¸ÐÐËȤ£º
StrutsʹÓõıêÇ©¿â£º
l struts-bean.tld: bean±êÇ©µÄÃèÊöÎļþ,bean±êÇ©ÓÃÓÚ·ÃÎÊJavaBeansºÍËüÃǵĹØÁªÊôÐÔ£¬Ò²¿ÉÒÔÓÃÓÚ¶¨ÒåеÄBean
l struts-html.tld: html±êÇ©µÄÃèÊö ......
½ñÌìÎÒѧϰÁËÙ¡ÀÏʦ½²µÄajaxµÄ֪ʶ£º
Ò»¡¢ Ajax
a) ÔÊÐíä¯ÀÀÆ÷Óë·þÎñÆ÷ͨÐŶøÎÞÐëˢе±Ç°Ò³ÃæµÄ¼¼Êõ¶¼±»½Ð×öAjax¡£Êý¾ÝÔÚ¿Í»§¶ËÓë·þÎñÆ÷Ö®¼ä¶ÀÁ¢´«Êä¡£·þÎñÆ÷²»ÔÙ·µ»ØÕû¸öÒ³Ãæ
b) XMLHttpRequest£º¸Ã¶ÔÏ ......
¿ª·¢ÕßÓÐʱ´´½¨µÄ¶àÏ̳߳ÌÐò»áÉú³É´íÎóÖµ»ò²úÉúÆäËüÆæ¹ÖµÄÐÐΪ¡£¹Å¹ÖÐÐΪһ°ã³öÏÖÔÚÒ»¸ö¶àÏ̳߳ÌÐòûʹÓÃͬ²½Á¬ÔØÏ̷߳ÃÎʹؼü´úÂ벿·ÝµÄʱºò¡£Í¬²½Á¬ÔØÏ̷߳ÃÎʹؼü´úÂ벿·ÝÊÇʲôÒâ˼ÄØ£¿ÔÚÕâƪÎÄÕÂÖнâÊÍÁËͬ²½£¬JavaµÄͬ²½»úÖÆ£¬ÒÔ¼°µ±¿ª·¢ÕßûÓÐÕýȷʹÓÃÕâ¸ö»úÖÆʱ³öÏÖµÄÁ½¸öÎÊÌâ¡£Ò»µ©Äã¿´ÍêÕâƪÎÄÕ£¬Äã¾Í¿ÉÒÔ±ÜÃâÔÚ ......
¿ÉÒÔ˵´úÀíÊÇjavaÊ®·ÖÖØÒªµÄÒ»ÖÖ»úÖÆ£¬ÁíÒ»¸öµ±È»ÊÇÊôÓÚ·´ÉäÁË£¬jdkÖе¥¶À½²µ½ÁË·´ÉäAPI£¨java.lang.reflect£©£¬¿ÉÄÜÓÐÈËÈÏΪ·´Éä¶Ô×ÊÔ´ÏûºÄ±È½ÏÀ÷º¦£¬È·ÊµÒ²ÊÇ£¬·´Éä¿Ï¶¨ÊÇÒªÏûºÄ×ÊÔ´µÄ£¬µ«Ò²²»ÊÇʲô¶¼ÒªÓõ½·´É䣬ËùÒÔ×î¼ÑÊÔÑéÓ¦¸ÃÊÇÔÚ×ÊÔ´ÏûºÄ³Ì¶ÈºÍ·´ÉäµÄʹÓó̶ÈÖ®¼äÕÒµ½Ò»¸öƽºâµã£¬±¾ÎIJ¢²»´òËã½²·´É䣬¹ØÓÚ·´ÉäµÄÐ ......