Éè¼ÆÄ£Ê½ÊµÑ鱨¸æ ÏÂÔØ±¾ÎÄ

̫ԭʦ·¶Ñ§Ôº

ʵÑ鱨¸æ

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 -