java Adapterģʽ
2009-08-19
×ªÔØ £º http://yahaitt.javaeye.com/blog/453032
java Adapterģʽ
¹Ø¼ü×Ö: android adapter
ͨ³££¬¿Í»§Àࣨclients of class£©Í¨¹ýÀàµÄ½Ó¿Ú·ÃÎÊËüÌṩµÄ·þÎñ¡£ÓÐʱ£¬ÏÖÓеÄÀࣨexisting class£©¿ÉÒÔÌṩ¿Í»§ÀàµÄ¹¦ÄÜÐèÒª£¬µ«ÊÇËüËùÌṩµÄ½Ó¿Ú²»Ò»¶¨Êǿͻ§ÀàËùÆÚÍûµÄ¡£ÕâÊÇÓÉÓÚÏÖÓеĽӿÚÌ«Ïêϸ»òÕßȱ·¦Ïêϸ»ò½Ó¿ÚµÄÃû³ÆÓë¿Í»§ÀàËù²éÕҵIJ»Í¬µÈÖî¶à²»Í¬ÔÒòµ¼Öµġ£
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬ÏÖÓеĽӿÚÐèҪת»¯£¨convert£©Îª¿Í»§ÀàÆÚÍûµÄ½Ó¿Ú£¬ÕâÑù±£Ö¤Á˶ÔÏÖÓÐÀàµÄÖØÓá£Èç¹û²»½øÐÐÕâÑùµÄת»¯£¬¿Í»§Àà¾Í²»ÄÜÀûÓÃÏÖÓÐÀàËùÌṩµÄ¹¦ÄÜ¡£ÊÊÅäÆ÷ģʽ£¨Adapter Pattern£©¿ÉÒÔÍê³ÉÕâÑùµÄת»¯¡£ÊÊÅäÆ÷ģʽ½¨Ò鶨ÒåÒ»¸ö°ü×°À࣬°ü×°Óв»¼æÈݽӿڵĶÔÏó¡£Õâ¸ö°ü×°ÀàÖ¸µÄ¾ÍÊÇÊÊÅäÆ÷£¨Adapter£©£¬Ëü°ü×°µÄ¶ÔÏó¾ÍÊÇÊÊÅäÕß(Adaptee)¡£ÊÊÅäÆ÷Ìṩ¿Í»§ÀàÐèÒªµÄ½Ó¿Ú£¬ÊÊÅäÆ÷½Ó¿ÚµÄʵÏÖÊǰѿͻ§ÀàµÄÇëÇóת»¯Îª¶ÔÊÊÅäÕßµÄÏàÓ¦½Ó¿ÚµÄµ÷Ó᣻»¾ä»°Ëµ£ºµ±¿Í»§Ààµ÷ÓÃÊÊÅäÆ÷µÄ·½·¨Ê±£¬ÔÚÊÊÅäÆ÷ÀàµÄÄÚ²¿µ÷ÓÃÊÊÅäÕßÀàµÄ·½·¨£¬Õâ¸ö¹ý³Ì¶Ô¿Í»§ÀàÊÇ͸Ã÷µÄ£¬¿Í»§Àಢ²»Ö±½Ó·ÃÎÊÊÊÅäÕßÀà¡£Òò´Ë£¬ÊÊÅäÆ÷¿ÉÒÔʹÓÉÓÚ½Ó¿Ú²»¼æÈݶø²»Äܽ»»¥µÄÀà¿ÉÒÔÒ»Æð¹¤×÷£¨work together£©¡£
¡¡¡¡ÔÚÉÏÃæÌÖÂ۵Ľӿڣº
¡¡¡¡£¨1£© ²»ÊÇÖ¸ÔÚJAVA±à³ÌÓïÑÔÖнӿڵĸÅÄËäÈ»ÀàµÄ½Ó¿Ú¿ÉÒÔͨ¹ýJAVA½èÀ©À´¶¨Òå¡£
¡¡¡¡£¨2£© ²»ÊÇÖ¸ÓÉ´°ÌåºÍGUI¿Ø¼þËù×é³ÉµÄGUIÓ¦ÓóÌÐòµÄÓû§½Ó¿Ú¡£
¡¡¡¡£¨3£© ¶øÊÇÖ¸ÀàËù±©Â¶µÄ£¬±»ÆäËûÀàµ÷Óõıà³Ì½Ó¿Ú£¬
¡¡¡¡ÀàÊÊÅäÆ÷£¨Class Adapter£©VS¶ÔÏóÊÊÅäÆ÷(Object Adapter)
¡¡¡¡ÊÊÅäÆ÷×ÜÌåÉÏ¿ÉÒÔ·ÖΪÁ½ÀࣺÀàÊÊÅäÆ÷£¨Class Adapter£©VS¶ÔÏóÊÊÅäÆ÷(Object Adapter)
¡¡ÀàÊÊÅäÆ÷£º
¡¡¡¡ÀàÊÊÅäÆ÷ÊÇͨ¹ý¼Ì³ÐÀàÊÊÅäÕßÀࣨAdaptee Class£©ÊµÏֵģ¬ÁíÍâÀàÊÊÅäÆ÷ʵÏÖ¿Í»§ÀàËùÐèÒªµÄ½Ó¿Ú¡£µ±¿Í»§¶ÔÏóµ÷ÓÃÊÊÅäÆ÷Àà·½·¨µÄʱºò£¬ÊÊÅäÆ÷ÄÚ²¿µ÷ÓÃËüËù¼Ì³ÐµÄÊÊÅäÕߵķ½·¨¡£
¡¡¶ÔÏóÊÊÅäÆ÷£º
¡¡¡¡¶ÔÏóÊÊÅäÆ÷°üº¬Ò»¸öÊÊÅäÆ÷ÕßµÄÒýÓã¨reference£©£¬ÓëÀàÊÊÅäÆ÷Ïàͬ£¬¶ÔÏóÊÊÅäÆ÷ҲʵÏÖÁ˿ͻ§ÀàÐèÒªµÄ½Ó¿Ú¡£µ±¿Í»§¶ÔÏóµ÷ÓöÔÏóÊÊÅäÆ÷µÄ·½·¨µÄʱºò£¬¶ÔÏóÊÊÅäÆ÷µ÷ËüËù°üº¬µÄÊÊÅäÆ÷ÕßʵÀýµÄÊʵ±·½·¨¡£
¡¡¡¡Ï±íÊÇÀàÊÊÅäÆ÷£¨Class Adapter£©ºÍ¶ÔÏóÊÊÅäÆ÷(Object Adapter)µÄÏêϸ²»Í¬£º
¡¡¡¡²¹³ä£º
¡¡¡¡ÀàÊÊÅäÆ÷£¨Class Adapter£©  
Ïà¹ØÎĵµ£º
¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆÎªÍⲿÀà¡£ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌØ¶¨µÄ½Ó¿Ú¡£staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷staticµÄ·½· ......
JavaÖеĸ¡µãÊý·ÖÎö
¡¡¡¡¸¡µãÊý·ÖΪµ¥¾«¶ÈºÍË«¾«¶È,JavaÖеĵ¥¾«¶ÈºÍË«¾«¶È·Ö±ðΪfloatºÍdouble.ÄãÃÇÖªµÀfloatºÍdoubleÊÇÔõô´æ´¢µÄÂð?
¡¡¡¡floatÕ¼4¸ö×Ö½Ú,doubleÕ¼8¸ö×Ö½Ú,ΪÁË·½±ãÆð¼û,ÕâÀï¾ÍÖ»ÌÖÂÛfloatÀàÐÍ.
¡¡¡¡floatÆäʵºÍÒ»¸öintÐ͵ĴóСÊÇÒ»ÑùµÄ,Ò»¹²32λ,µÚһλ±íʾ·ûºÅ,2-9±íʾָÊý,ºóÃæ23λ±íʾСÊý²¿·Ö.ÕâÀ ......
private PreparedStatement pstmt;
String sql="INSERT INTO TABLE(id,Ãû³Æ,Óû§id,Stbid,MAC,Óû§×´Ì¬,×Ü´ÎÊý,IpµØÖ·,×ÊÁϸüÐÂʱ¼ä) " +
"VALUES(?,?,?,?,?,?,?,?,?)";
pstmt=connection.prepareStatement(sql);
pstmt.setString(1,array[0]);
......
ÈçºÎ»ñÈ¡LCDSÇëÇó¹ý³ÌÖÐJAVAÅ׳öÀ´µÄExceptionÄØ£¿ µ±flexͨ¹ýÇëÇó¶ÔÏóÇëÇó·þÎñ¶ËµÄʱºò£¬ÇëÇó³É¹¦»á·¢mx.rpc.events.ResultEventʼþ£¬Óöµ½·þÎñ¶ËÒì³£»òÆäËû·Ç200µÄHTTP״̬Â루ÀýÈç404£¬403£©Ôò»á·¢mx.rpc.events.FaultEventʼþ£¬µ«ÇëÇóʧ°ÜÊÇÒòΪʲôÔÒòÄØ£¿ÒòΪ²»Í¬µÄÔÒò¿ÉÄܵ¼Ö½çÃæÉϲ»Í ......
Ò»£® InputºÍOutput
1. stream´ú±íµÄÊÇÈκÎÓÐÄÜÁ¦²ú³öÊý¾ÝµÄÊý¾ÝÔ´£¬»òÊÇÈκÎÓÐÄÜÁ¦½ÓÊÕÊý¾ÝµÄ½ÓÊÕÔ´¡£ÔÚJavaµÄIOÖУ¬ËùÓеÄstream£¨°üÀ¨InputºÍOut stream£©¶¼°üÀ¨Á½ÖÖÀàÐÍ£º
1.1 ÒÔ×Ö½ÚΪµ¼ÏòµÄstream
ÒÔ×Ö½ÚΪµ¼ÏòµÄstream£¬±íʾÒÔ×Ö½ÚΪµ¥Î»´ÓstreamÖжÁÈ¡»òÍùstreamÖÐдÈëÐÅÏ¢¡£ÒÔ×Ö½ÚΪµ¼ÏòµÄstream°üÀ¨ÏÂÃæ¼¸Ö ......