JAVAģʽһ FactoryMethod¡¾×ª¡¿
Òý:¹¤³§·½·¨Ä£Ê½µÄÒâÒåÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê´´½¨¹¤×÷ÍÆ³Ùµ½×ÓÀ൱ÖС£ºËÐŤ³§À಻ÔÙ¸ºÔð²úÆ·µÄ´´½¨£¬ÕâÑùºËÐÄÀà³ÉΪһ¸ö³éÏ󹤳§½ÇÉ«£¬½ö¸ºÔð¾ßÌ幤³§×ÓÀà±ØÐëʵÏֵĽӿÚ
¡¡¡¡Ò» ¡¢¹¤³§·½·¨£¨Factory Method£©Ä£Ê½
¡¡
¡¡¹¤³§·½·¨Ä£Ê½µÄÒâÒåÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê´´½¨¹¤×÷ÍÆ³Ùµ½×ÓÀ൱ÖС£ºËÐŤ³§À಻ÔÙ¸ºÔð²úÆ·µÄ´´½¨£¬ÕâÑùºËÐÄÀà³ÉΪһ¸ö³éÏ󹤳§½Ç
É«£¬½ö¸ºÔð¾ßÌ幤³§×ÓÀà±ØÐëʵÏֵĽӿڣ¬ÕâÑù½øÒ»²½³éÏ󻯵ĺô¦ÊÇʹµÃ¹¤³§·½·¨Ä£Ê½¿ÉÒÔʹϵͳÔÚ²»Ð޸ľßÌ幤³§½ÇÉ«µÄÇé¿öÏÂÒý½øÐµIJúÆ·¡£
¡¡¡¡¶þ¡¢ ¹¤³§·½·¨Ä£Ê½½ÇÉ«Óë½á¹¹
¡¡¡¡³éÏ󹤳§£¨Creator£©½ÇÉ«£ºÊǹ¤³§·½·¨Ä£Ê½µÄºËÐÄ£¬ÓëÓ¦ÓóÌÐòÎ޹ء£ÈκÎÔÚģʽÖд´½¨µÄ¶ÔÏóµÄ¹¤³§Àà±ØÐëʵÏÖÕâ¸ö½Ó¿Ú¡£
¡¡¡¡¾ßÌ幤³§£¨Concrete Creator£©½ÇÉ«£ºÕâÊÇʵÏÖ³éÏ󹤳§½Ó¿ÚµÄ¾ßÌ幤³§À࣬°üº¬ÓëÓ¦ÓóÌÐòÃÜÇÐÏà¹ØµÄÂß¼£¬²¢ÇÒÊܵ½Ó¦ÓóÌÐòµ÷ÓÃÒÔ´´½¨²úÆ·¶ÔÏó¡£ÔÚÉÏͼÖÐÓÐÁ½¸öÕâÑùµÄ½ÇÉ«£ºBulbCreatorÓëTubeCreator¡£
¡¡¡¡³éÏó²úÆ·£¨Product£©½ÇÉ«£º¹¤³§·½·¨Ä£Ê½Ëù´´½¨µÄ¶ÔÏóµÄ³¬ÀàÐÍ£¬Ò²¾ÍÊDzúÆ·¶ÔÏóµÄ¹²Í¬¸¸Àà»ò¹²Í¬ÓµÓеĽӿڡ£ÔÚÉÏͼÖУ¬Õâ¸ö½ÇÉ«ÊÇLight¡£
¡¡¡¡¾ßÌå²úÆ·£¨Concrete Product£©½ÇÉ«£ºÕâ¸ö½ÇɫʵÏÖÁ˳éÏó²úÆ·½ÇÉ«Ëù¶¨ÒåµÄ½Ó¿Ú¡£Ä³¾ßÌå²úÆ·ÓÐרÃŵľßÌ幤³§´´½¨£¬ËüÃÇÖ®¼äÍùÍùÒ»Ò»¶ÔÓ¦¡£
¡¡¡¡¡¡
¡¡¡¡Èý¡¢Ò»¸ö¼òµ¥µÄʵÀý
¡¡¡¡¡¡
// ²úÆ· Plant½Ó¿Ú
public interface Plant { }
//¾ßÌå²úÆ·PlantA£¬PlantB
public class PlantA implements Plant {
¡¡public PlantA () {
¡¡¡¡System.out.println("create PlantA !");
¡¡}
¡¡public void doSomething() {
¡¡¡¡System.out.println(" PlantA do something ...");
¡¡}
}
public class PlantB implements Plant {
¡¡public PlantB () {
¡¡¡¡System.out.println("create PlantB !");
¡¡}
¡¡public void doSomething() {
¡¡¡¡System.out.println(" PlantB do something ...");
¡¡}
}
// ²úÆ· Fruit½Ó¿Ú
public interface Fruit { }
//¾ßÌå²úÆ·FruitA£¬FruitB
public class FruitA implements Fruit {
¡¡public FruitA() {
¡¡¡¡System.out.println("create FruitA !");
¡¡}
¡¡public void doSomething() {
¡¡¡¡System.out.println(" FruitA do something ...");
¡¡}
}
p
Ïà¹ØÎĵµ£º
01. ˵³öArrayList,VectorµÄÇø±ð£¬HashMapºÍHashtableµÄÇø±ð¡£
02. final, finally, finalizeµÄÇø±ð¡£
03. abstract classºÍinterfaceÓÐÊ²Ã´Çø±ð?
04. ʲôʱºòÓÃassert¡£
05. GCÊÇʲô? ΪʲôҪÓÐGC?&nb ......
Ò»¡¢Java¶àÏ̻߳¥³â¼°Í¬²½¿ØÖƺÍͨÐÅ
¶à¸öÏ̵߳ÄÖ´ÐÐÊDz¢·¢µÄ£¬Ò²¾ÍÊÇÔÚÂß¼Éϓͬʱ”£¬¶ø²»¹ÜÊÇ·ñÊÇÎïÀíÉϵēͬʱ”¡£Èç¹ûϵͳֻÓÐÒ»¸öCPU£¬ÄÇ̫;ÕýµÄ“ͬʱ”ÊDz»¿ÉÄܵ쬵«ÊÇÓÉÓÚCPUµÄËٶȷdz£¿ì£¬Óû§¸Ð¾õ²»µ½ÆäÖеÄÇø±ð£¬Òò´ËÎÒÃÇÒ²²»ÓùØÐÄËü£¬Ö»ÐèÒªÉèÏë¸÷¸öÏ ......
ÔÚÎÒÃÇ¿ª·¢ÖУ¬¾³£»áÓõ½¼¯ºÏ£¬ÎÒÃÇÒ²ÖªµÀ¼¯ºÏÊÇÓÃÀ´´æ´¢ÔªËص쬵«ËüȴûÓй淶´æ´¢ÔªËصľßÌåÀàÐÍ£¬ÎªÁËÊÇÎÒÃǵijÌÐò¸ü¹æ·¶»¯£¬¾ÍÓ¦µ±Ê¹Ó÷ºÐÍÁË¡£
·ºÐÍÊÇÌṩ¸øjavac±à¼Æ÷ʹÓõģ¬¿ÉÒÔÏÞ¶¨¼¯ºÏÖеÄÊäÈëÀàÐÍ£¬ÈñàÒëÆ÷µ²×¡Ô´³ÌÐòµÄ·Ç·¨ÊäÈ룬±à¼Æ÷±àÒë´øÀàÐÍ˵Ã÷µÄ¼¯ºÏʱ»áÈ¥³ýµô“ÀàÐÍ”ÐÅÏ¢£¬ÊdzÌÐòÔËÐÐÐ ......
JavaÁ¬½Ó¸÷ÖÖÊý¾Ý¿âµÄÅäÖ÷½·¨MySQL
£ºString Driver="com.mysql.jdbc.Driver"
; //Çý¶¯³ÌÐòString URL="jdbc:mysql://localhost:3306/db_name"
; //Á¬½ÓµÄURL,db_nameΪÊý¾Ý¿âString Username="username"
; //Óû§ÃûString Password="password"
; / ......
1. ³éÏó
³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2. ¼Ì³Ð
¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ÇÒÔÊÐíºÍ¹ÄÀøÀàµÄÖØÓã¬ËüÌṩÁË ......