³ÎÇåjavaÓïÑÔ½Ó¿ÚÓë¼Ì³ÐµÄ±¾ÖÊ
OOµÄ¾«Ë裬ÎÒÒÔΪ£¬ÊǶԶÔÏóµÄ³éÏó£¬×îÄÜÌåÏÖÕâÒ»µãµÄ¾ÍÊǽӿڡ£ÎªÊ²Ã´ÎÒÃÇÌÖÂÛÉè¼ÆÄ£Ê½¶¼Ö»Õë¶Ô¾ß±¸Á˳éÏóÄÜÁ¦µÄÓïÑÔ£¨±ÈÈçc++¡¢java¡¢c#µÈ£©£¬¾ÍÊÇÒòΪÉè¼ÆÄ£Ê½ËùÑо¿µÄ£¬Êµ¼ÊÉϾÍÊÇÈçºÎºÏÀíµÄÈ¥³éÏó¡££¨cowboyµÄÃûÑÔÊÇ"³éÏó¾ÍÊdzéÈ¥ÏñµÄ²¿·Ö"£¬¿´ËƵ÷Ù©£¬ÊµÄËÖÁÀí£©¡£
Éè¼ÆÄ£Ê½ÖÐ×î»ù´¡µÄÊǹ¤³§Ä£Ê½£¨Factory£©£¬ÔÚÎÒ×î½üµÄÒ»¸öºÜ¼òµ¥µÄÓ¦ÓÃÖУ¬ÎÒÏ뾡Á¿µÄÈÃÎҵijÌÐòÄܹ»ÔÚ¶à¸öÊý¾Ý¿â¼äÒÆÖ²£¬µ±È»£¬ÕâÉæ¼°ºÜ¶àÎÊÌ⣬µ¥ÊÇÈçºÎ¼æÈݲ»Í¬DBMSµÄSQL¾ÍÈÃÈËÍ·Í´¡£ÎÒÃDz»·ÁÏȰÑÎÊÌâ¼òµ¥»¯£¬Ö»¿¼ÂÇÈçºÎÁ¬½Ó²»Í¬µÄÊý¾Ý¿â¡£
¼ÙÉèÎÒÓкܶà¸öÀ࣬·Ö±ðÊÇMysql.java¡¢SQLServer.java¡¢Oracle.java¡¢DB2.java£¬ËûÃÇ·Ö±ðÁ¬½Ó²»Í¬µÄÊý¾Ý¿â£¬Í³Ò»·µ»ØÒ»¸öConnection¶ÔÏ󣬲¢ÇÒ¶¼ÓÐÒ»¸öclose·½·¨£¬ÓÃÓڹرÕÁ¬½Ó¡£Ö»ÐèÒªÕë¶ÔÄãµÄDBMS£¬Ñ¡Ôñ²»Í¬µÄÀ࣬¾Í¿ÉÒÔÓÃÁË£¬µ«ÊÇÎÒµÄÓû§Ëû»áʹÓÃʲôÊý¾Ý¿â£¿ÎÒ²»ÖªµÀ£¬ÎÒÏ£ÍûµÄÊǾ¡Á¿ÉÙµÄÐ޸ĴúÂ룬¾ÍÄÜÂú×ãËûµÄÐèÒª¡£ÎÒ¿ÉÒÔ³éÏóÈçϽӿڣº
package org.bromon.test;
public interface DB
{
¡¡¡¡java.sql.Connection openDB(String url,String user,String password);
¡¡¡¡void close();
}
Õâ¸ö½Ó¿ÚÖ»¶¨ÒåÁ½¸ö·½·¨£¬Ã»ÓÐÈκÎÓÐʵ¼ÊÒâÒåµÄ´úÂ룬¾ßÌåµÄ´úÂëÓÉʵ×÷Õâ¸ö½Ó¿ÚµÄÀàÀ´¸ø³ö£¬±ÈÈçMysql.java£º
Package org.bromon.test;
import java.sql.*;
public class Mysql implements DB
{
¡¡¡¡private String url="jdbc:mysql:localhost:3306/test";
¡¡¡¡private String user="root";
¡¡¡¡private String password="";
¡¡¡¡private Connection conn;
¡¡¡¡public Connection openDB(url,user,password)
¡¡¡¡{
¡¡¡¡¡¡¡¡//Á¬½ÓÊý¾Ý¿âµÄ´úÂë
¡¡¡¡}
¡¡¡¡public void close()
¡¡¡¡{
¡¡¡¡¡¡¡¡//¹Ø±ÕÊý¾Ý¿â
¡¡¡¡}
}
ÀàËÆµÄµ±È»»¹ÓÐOracle.javaµÈµÈ£¬½Ó¿ÚDB¸øÕâЩÀà¹éÁ˸öÀ࣬ÔÚÓ¦ÓóÌÐòÖÐÎÒÃÇÕâÑù¶¨Òå¶ÔÏó£º
org.bromon.test.DB myDB;
ʹÓÃmyDBÀ´²Ù×÷Êý¾Ý¿â£¬¾Í¿ÉÒÔ²»ÓùÜʵ¼ÊÉÏÎÒËùʹÓõÄÊÇÄĸöÀ࣬Õâ¾ÍÊÇËùνµÄ"¿ª-±Õ"ÔÔò¡£µ«ÊÇÎÊÌâÔÚÓÚ½Ó¿ÚÊDz»ÄÜʵÀý»¯µÄ£¬myDB=new DB()£¬ÕâÑùµÄ´úÂëÊǾø¶Ô´íÎóµÄ£¬ÎÒÃÇÖ»ÄÜmyDB=new Mysql()»òÕßmyDB=new Oracle()¡£Âé·³ÁË£¬ÎÒ»¹ÊÇÐèÒªÖ¸¶¨¾ßÌåʵÀý»¯µÄÊÇÄĸöÀ࣬ÓÃÁ˽ӿڸúûÓÃÒ»Ñù¡£ËùÒÔÎÒÃÇÐèÒªÒ»¸ö¹¤³§£º
package org.bromon.test;
public class DBFactory
{
¡¡¡¡public static DB Connection getConn()
¡¡¡¡{
¡¡¡¡¡¡¡¡Return(new Mysql());
¡¡¡¡}
}
ËùÒÔʵ
Ïà¹ØÎĵµ£º
ÓÃJava±àдӦÓÃʱ£¬ÓÐʱÐèÒªÔÚ³ÌÐòÖе÷ÓÃÁíÒ»¸öÏֳɵĿÉÖ´ÐгÌÐò»òϵͳÃüÁÕâʱ¿ÉÒÔͨ¹ý×éºÏʹÓÃJavaÌṩµÄRuntimeÀàºÍProcessÀàµÄ·½·¨ÊµÏÖ¡£ÏÂÃæÊÇÒ»ÖֱȽϵäÐ͵ijÌÐòģʽ£º
...
Process process = Runtime.getRuntime().exec(".\\p.exe");
process.waitfor( );
...&nb ......
來Ô´£ºhttp://www.infoq.com/cn/articles/memcached-java
×÷Õß
á¯Îijõ
·¢²¼ÓÚ
2008Äê9ÔÂ27ÈÕ ÉÏÎç12ʱ38·Ö
ÉçÇø
Java
Ö÷Ìâ
¼¯ÈºÓ뻺´æ
Memcached ÊÇʲô£¿
MemcachedÊÇÒ»ÖÖ¼¯ÖÐʽCache£¬Ö§³Ö·Ö²¼Ê½ºáÏòÀ©Õ¹¡£ÕâÀïÐèÒª½âÊÍ˵Ã÷һϣ¬ºÜ¶à¿ª·¢Õß¾õµÃMemcachedÊÇÒ»ÖÖ· ......
Ò»¡¢ ¶¨Òå
·ÅÔÚÒ»¸öÀàµÄÄÚ²¿µÄÀàÎÒÃǾͽÐÄÚ²¿Àà¡£
¶þ¡¢ ×÷ÓÃ
1.ÄÚ²¿Àà¿ÉÒԺܺõÄʵÏÖÒþ²Ø,Ò²¾ÍÊÇ·â×°ÐÔ¡£Ò»°ãµÄ·ÇÄÚ²¿À࣬ÊDz»ÔÊÐíÓÐ private ÓëprotectedȨÏ޵쬵«ÄÚ²¿Àà¿ÉÒÔ
2.ÄÚ²¿ÀàÓµÓÐÍâΧÀàµÄËùÓÐÔªËØµÄ·ÃÎÊȨÏÞ
3.¿ÉÊÇʵÏÖ¶àÖØ¼Ì³Ð
4.¿ÉÒÔ±ÜÃâÐ޸ĽӿڶøÊµÏÖͬһ¸öÀàÖÐÁ½ÖÖͬÃû·½·¨µÄµ÷ÓÃ
Èý¡¢ ......