JavaÉè¼ÆÄ£Ê½Ö®Ä£°å·½·¨Ä£Ê½
1) AbstractClass£¨³éÏóÀࣩ£º¶¨ÒåÁËÒ»µ½¶à¸öµÄ³éÏó·½·¨£¬ÒÔ¹©¾ßÌåµÄ×ÓÀàÀ´ÊµÏÖËüÃÇ£»¶øÇÒ»¹ÒªÊµÏÖÒ»¸öÄ£°å·½·¨£¬À´¶¨ÒåÒ»¸öËã·¨µÄ¹Ç¼Ü¡£¸ÃÄ£°å·½·¨²»½öµ÷ÓÃÇ°ÃæµÄ³éÏó·½·¨£¬Ò²¿ÉÒÔµ÷ÓÃÆäËûµÄ²Ù×÷£¬Ö»ÒªÄÜÍê³É×ÔÉíµÄʹÃü¡£
2) ConcreteClass£¨¾ßÌåÀࣩ£ºÊµÏÖ¸¸ÀàÖеijéÏó·½·¨ÒÔÍê³ÉËã·¨ÖÐÓëÌØ¶¨×ÓÀàÏà¹ØµÄ²½Öè¡£
AbstractClass.java
/**
* ¶«±±µçÁ¦´óѧÒòÌØÀ×¹¤×÷ÊÒ°æÈ¨ËùÓÐ
* ¿ª·¢ÏîÄ¿×飺ÒòÌØÀ×¹¤×÷ÊÒJAVA×鿪·¢
* 꿅᣼http://itl.nedu.edu.cn
* JAVA×éQQ¿ª·¢Èº£º37523769
* ÁªÏµÇë×¢Ã÷£¡£¡£¡
* ллÄúµÄʹÓã¡£¡£¡£¡£¡£¡£¡
* Îļþ´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:13:43ÈÕ
*/
package com.amly.pattern;
/**
* Àà´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:13:43ÈÕ
* @author wamly
*
*/
public abstract class AbstractClass {
/**
* Ä£°æ·½·¨£¬ÀàËÆHttpServletÖеÄservice·½·¨
* ¶«±±µçÁ¦´óѧÒòÌØÀ×¹¤×÷ÊÒJAVA×é
* Îļþ´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:14:39ÈÕ
*/
public final void templateMethod(String methodName) {
if("op1".equals(methodName)) {
doOperation1(methodName);
}
if("op2".equals(methodName)) {
doOperation2(methodName);
}
}
protected abstract void doOperation1(String methodName);
protected abstract void doOperation2(String methodName);
}
ConcreteClass.java
/**
* ¶«±±µçÁ¦´óѧÒòÌØÀ×¹¤×÷ÊÒ°æÈ¨ËùÓÐ
* ¿ª·¢ÏîÄ¿×飺ÒòÌØÀ×¹¤×÷ÊÒJAVA×鿪·¢
* 꿅᣼http://itl.nedu.edu.cn
* JAVA×éQQ¿ª·¢Èº£º37523769
* ÁªÏµÇë×¢Ã÷£¡£¡£¡
* ллÄúµÄʹÓã¡£¡£¡£¡£¡£¡£¡
* Îļþ´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç07:11:33ÈÕ
*/
package com.amly.pattern;
/**
* Àà´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç07:11:33ÈÕ
* @author wamly
*
*/
public class ConcreteClass extends AbstractClass {
/* (non-Javadoc)
* @see com.amly.pattern.AbstractClass#doOperatio
Ïà¹ØÎĵµ£º
JavaÓïÑԵĹؼü×Ö£¬ÓÃÀ´±íʾһ¸öÓò²»ÊǸöÔÏó´®Ðл¯µÄÒ»²¿·Ö¡£µ±Ò»¸ö¶ÔÏó±»´®Ðл¯µÄʱºò£¬transientÐͱäÁ¿µÄÖµ²»°üÀ¨ÔÚ´®Ðл¯µÄ±íʾÖУ¬È»¶ø·ÇtransientÐ͵ıäÁ¿ÊDZ»°üÀ¨½øÈ¥µÄ
¡¡¡¡Java´úÂë
¡¡¡¡class A implements Serializable {
¡¡¡¡private String name;
¡¡¡¡transient private String address;
¡¡¡¡}
¡¡¡¡ÄÇÃ´Ä ......
¹ØÓÚ23ÖÖÉè¼ÆÄ£Ê½µÄÓÐȤ¼û½â
×÷ÕßÒÔÇáËɵÄÓïÑÔ±ÈÓ÷ÁËjavaµÄ23ÖÖģʽ£¬ÓÐºÜºÃµÄÆô·¢×÷Óá£
´´½¨ÐÍģʽ
1¡¢FACTORY—×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ù ......
File.separatorChar ·µ»ØÒ»¸ö×Ö·û£¬±íʾµ±Ç°ÏµÍ³Ä¬ÈϵÄÎļþÃû·Ö¸ô·û£¬ÔÚWindowsÖÐΪ"\",unixÖÐΪ"/"¡£
File.separator ÓëǰÕßÏàͬ£¬µ«½«·Ö¸ô·û×÷Ϊ×Ö·û´®ÀàÐÍ·µ»Ø¡£
pathSeparatorChar ·µ»ØÒ»¸ö×Ö·û£¬±íʾµ±Ç°ÏµÍ³Ä¬ÈϵÄ·¾¶Ãû·Ö¸ô·û£¬ÔÚWindowsÖÐΪ";",unixÖÐΪ":"¡£
File.pathSeparator ÓëǰÕßÏàͬ£¬µ«½«·Ö¸ô·û×÷Ϊ×Ö· ......
1 ÈÕÖ¾¼¶±ð
oFATAL
¼Ç¼ӰÏìϵͳÕý³£ÔËÐУ¬¿ÉÄܵ¼ÖÂϵͳ±ÀÀ£µÄʼþ
oERROR
¼Ç¼ӰÏìÒµÎñÁ÷³ÌÕý³£½øÐУ¬µ¼ÖÂÒµÎñÁ÷³ÌÌáǰÖÕÖ¹µÄʼþ
oWARN
¼Ç¼δԤÁϵ½£¬¿ÉÄܵ¼ÖÂÒµÎñÁ÷³ÌÎÞ·¨½øÐеÄʼþ
oINFO
¼Ç¼ϵͳÆô¶¯/Í£Ö¹£¬Ä£¿é¼ÓÔØ/Ð¶ÔØÖ®Ààʼþ
oDEBUG
¼Ç¼ҵÎñÏêϸÁ÷³Ì£¬Óû§¼øÈ¨/ÒµÎñÁ÷³ÌÑ¡Ôñ/Êý¾Ý´æÈ¡Ê¼þ
oTRACE
......
ǰЩʱºò£¬°Ñ¡¶Thinking in Java¡·ÖÐÒì³£ÕâÒ»Õ·³öÀ´ÔÙ´ÎÑжÁ£¬±¾ÈËÓÐЩÊÕ»ñ£¬²¢ÇÒÓÐЩ¹ÛµãºÍ×÷Õ߹۵㲻̫һÖ£¬¹²ÏíÖ®
1.Òì³£µÄ¶¨Òå
Ò»¸öϵͳÖж¨ÒåÒì³£Ó¦×ñÑÈçϼ¸¸öÔÔò£º
a. ϵͳÖÐÈç¹ûij¸öÄ£¿é¹¦ÄܱȽϵ¥Ò»£¬½¨Ò齫ËùÓÐÒì³£·ÅÔÚÒ»¸öpackageÄÚ£»Èç¹ûij¸öÄ£¿éÓкܶà×ÓÄ£¿é£¬ ......