Ì«Ôʦ·¶Ñ§Ôº
ʵÑ鱨¸æ
Experimentation Report of Taiyuan teachers College
±¨Ò»¡¢ÊµÑéÄ¿µÄ ¶þ¡¢ÊµÑéÔÀí Èý¡¢ÊµÑéÒÇÆ÷¼°²ÄÁÏ ¸æÄÚÈÝ ËÄ¡¢ÊµÑé·½·¨ Î塢ʵÑé¼Ç¼¼°Êý¾Ý´¦Àí Áù¡¢ÊµÑé·ÖÎö¼°ÌÖÂÛ
ϵ²¿ ¼ÆËã»úϵ Äê ¼¶ ¿Î³Ì Éè¼ÆÄ£Ê½ÊµÑµ½Ì³Ì ÐÕÃû ѧ ºÅ ÈÕÆÚ 2018.03.03
Ïî
Ò»¡¢ÊµÑéÄ¿µÄ
Ä¿ Factory MethodÉè¼ÆÄ£Ê½
¶¨ÒåÒ»¸öÓÃÓÚ´´½¨¶ÔÏóµÄ½Ó¿Ú£¬ÈÃ×ÓÀà¾ö¶¨ÊµÀý»¯ÄÄÒ»¸öÀà¡£Factory Methodʹһ¸öÀàµÄʵÀý»¯ÑÓ³Ùµ½Æä×ÓÀà¡£
¿ò¼ÜʹÓóéÏóÀඨÒåºÍά»¤¶ÔÏóÖ®¼äµÄ¹ØÏµ¡£ÕâЩ¶ÔÏóµÄ´´½¨Í¨³£Ò²ÓÉ¿ò¼Ü¸ºÔ𡣿¼ÂÇÕâÑùÒ»¸öÓ¦Óÿò¼Ü£¬Ëü¿ÉÒÔÏòÓû§ÏÔʾ¶à¸öÎĵµ¡£ÔÚÕâ¸ö¿ò¼ÜÖУ¬Á½¸öÖ÷ÒªµÄ³éÏóÊÇÀàApplicationºÍDocument¡£ÕâÁ½¸öÀà¶¼ÊdzéÏóµÄ£¬¿Í»§±ØÐëͨ¹ýËüÃǵÄ×ÓÀàÀ´×öÓë¾ßÌåÓ¦ÓÃÏà¹ØµÄʵÏÖ¡£
¶þ¡¢ÊµÑéÔÀí
ÊÔÑéÒªÇó°üº¬µäÐ굀 Factory Method½á¹¹¡£ ³ÌÐòÄܹ»Ã÷È·±í´ïÉè¼ÆË¼Ïë¡£
Èý¡¢ÊµÑéÒÇÆ÷¼°²ÄÁÏ
²Ù×÷ϵͳ£º Windows£¬linux£» ¿ª·¢¹¤¾ß£º VC£» Java£¬C#
ËÄ¡¢ÊµÑé·½·¨
Éè¼ÆÒ»¸öFactory Method°¸Àý²¢ÊµÏÖ£¬²¢×«Ð´Éè¼Æ±¨¸æ¡£
-1-
Ì«Ôʦ·¶Ñ§ÔºÊµÑ鱨¸æ ÐøÒ³
Î塢ʵÑé¼Ç¼¼°Êý¾Ý´¦Àí
interface Log{
public void writeLog(); }
//ÎļþÈÕÖ¾¼Ç¼Æ÷£º¾ßÌå²úÆ· class FileLog implements Log{ @Override
public void writeLog() { System.out.println(\ÎļþÈÕÖ¾¼Ç¼¡£\
} }
//Êý¾Ý¿âÈÕÖ¾¼Ç¼Æ÷£º¾ßÌå²úÆ· class DatebaseLog implements Log{ @Override
public void writeLog() { System.out.println(\Êý¾Ý¿âÈÕÖ¾¼Ç¼¡£\ }
}
//ÈÕÖ¾¼Ç¼Æ÷¹¤³§½Ó¿Ú£º³éÏ󹤳§ interface LogFactory{ public Log createLog(); }
//ÎļþÈÕÖ¾¼Ç¼Æ÷¹¤³§Àࣺ¾ßÌ幤³§
class FileLogFactory implements LogFactory{ @Override
public Log createLog() { return new FileLog();
} }
//Êý¾Ý¿âÈÕÖ¾¼Ç¼Æ÷¹¤³§Àࣺ¾ßÌ幤³§
class DatabaseLogFactory implements LogFactory{ @Override
public Log createLog() {
- 2 -
Ì«Ôʦ·¶Ñ§ÔºÊµÑ鱨¸æ ÐøÒ³
} }
return new DatebaseLog();
//¿Í»§¶Ë²âÊÔÀà class FactoryMethod{
public static void main(String[] args) { }
LogFactory factory; Log log;
factory = new FileLogFactory(); log = factory.createLog(); log.writeLog();
}$_POST['tel']
Áù¡¢ÊµÑé½á¹û
- 3 -