Éè¼ÆÄ£Ê½Ö®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¿ÉÄÜ»¹»á"Éú³öºÜ¶à¶ù×Ó³öÀ´", ÄÇôÎÒÃÇÒª¶ÔÕâЩ¶ù×ÓÒ»¸ö¸öʵÀý»¯,¸üÔã¸âµÄÊÇ,¿ÉÄÜ»¹Òª¶ÔÒÔǰµÄ´úÂë½øÐÐÐÞ¸Ä:¼ÓÈëºóÀ´Éú³ö¶ù×ÓµÄʵÀý.ÕâÔÚ´«Í³³ÌÐòÖÐÊÇÎÞ·¨±ÜÃâµÄ.
µ«Èç¹
Ïà¹ØÎĵµ£º
ÎÒ½ñÌìѧϰÁË£¬Ê¹ÓÃjunit½øÐе¥Ôª²âÊÔµÄ֪ʶºÍʹÓÃlog4j½øÐÐÈÕÖ¾¹ÜÀíµÄ֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
Junit
JUnitÊÇÒ»¸ö¿ª·¢Ô´´úÂëµÄJava²âÊÔ¿ò¼Ü£¬ÓÃÓÚ±àдºÍÔËÐпÉÖØ¸´µÄ²âÊÔ¡£ËûÊÇÓÃÓÚµ¥Ôª²âÊÔ¿ò¼ÜÌåϵxUnitµÄÒ»¸öʵÀý£¨ÓÃÓÚjavaÓïÑÔ£©¡£Ëü°üÀ¨ÒÔÏÂÌØÐÔ£º
1¡¢ÓÃÓÚ²âÊÔÆÚÍû½á¹ûµÄ¶ÏÑÔ£¨Assertion£©
2¡¢ÓÃÓÚ¹²Ïí¹²Í¬ ......
½ñÌìÊǵÚÒ»Ìì½Ó´¥¿ò¼ÜµÄ֪ʶ£¬Ñ§Ï°struts£¬Îҷdz£¸ÐÐËȤ£º
StrutsʹÓõıêÇ©¿â£º
l struts-bean.tld: bean±êÇ©µÄÃèÊöÎļþ,bean±êÇ©ÓÃÓÚ·ÃÎÊJavaBeansºÍËüÃǵĹØÁªÊôÐÔ£¬Ò²¿ÉÒÔÓÃÓÚ¶¨ÒåеÄBean
l struts-html.tld: html±êÇ©µÄÃèÊö ......
ÎÒ½ñÌìѧϰÁËstruts¿ò¼ÜµÄ֪ʶ£¬×öÁ˼òµ¥µÄ±Ê¼Ç£º
Ò»¡¢ Action±êÇ©ÖÐÊôÐÔ £º
l AttributeµÄÖµ£¬Èç²»ÉèÖã¬Ä¬ÈÏֵΪaction±êÇ©ÖÐnameÊôÐÔµÄÖµ¡£
l &n ......
±¨±íµÄÉúÃüÖÜÆÚºÍjavaÀàµÄ·Ç³£ÏàËÆ£¬java±»Ò»Ð©Ô´Îļþ×é³É£¬ÕâЩԴÎļþ±»±àÒë³ÉÀ©Õ¹ÃûΪclassµÄÎļþ¡£Í¬ÑùµÄÒ»¸ö±¨±íÒ²ÊÇiyouÒ»¸öÔ´´úÂëµÄÎʼÛÄêÀ´ÃèÊöµÄ£¬Ô´ÎļþµÄÀ©Õ¹ÃûΪ . jrxml £¬È»ºó±»±àÒë³É .jasperÎļþ.
JasperReport ÊÇÒ»¸öjar¿â£¬ËûÌṩÒÔÏÂÖ÷ÒªÀࣺ
net.sf.jasperreports.engine.JasperCompileMan ......
Java.sql°üÖÐµÄ java.sql.Driver, jdbc.sql.ConnectionµÈÌṩ¸ø³ÌÐò¿ª·¢ÈËԱͳһµÄ¿ª·¢½Ó¿Ú£¬Êý¾Ý¿âÌṩÉÌÌṩÏàÓ¦µÄʵÏÖ£¬¶Ô³ÌÐò¿ª·¢ÈËÔ±À´½²Ö»ÒªÖªµÀÕâЩ½Ó¿Ú¶¼ÓÐÄÄЩ·½·¨¾Í¿ÉÒÔÁË¡£µ«ÎÒÃÇ¿ÉÒÔÉîÈëһЩ¿´¿´µ½µ×ÕâÀïÃæ¶¼×öÁËÄÇЩÊ£¬ ͬʱҲ¿ÉÒÔѧϰÆäÖеıà³Ìģʽ(ÈçInterfaceģʽµÈ)¡£
¡¡¡¡1¡¢ Class.forName(String cl ......