Chinaz.com - ¤¤°ê¯¸ªø¯¸

°Î¦W§ë½Z §ë½Z«ü«n RSS­q¾\ ¯¸ªø¸ê°T³q§i:
·j¯Á: ±zªº¦ì¸m¡G¥D­¶>ºôµ¸½sµ{>.Net½sµ{>¾\Ū¸ê°T¡G¦b.net¤¤¦p¦ó§Q¥Î¼Æ¾Ú¤u¼t¹ê²{¦h¼Æ¾Ú®wªº¾Þ§@

¦b.net¤¤¦p¦ó§Q¥Î¼Æ¾Ú¤u¼t¹ê²{¦h¼Æ¾Ú®wªº¾Þ§@

2008-07-01 11:08:32 ¨Ó·½:¤¬Ápºô §@ªÌ:½s¿è¾ã²z ¡i¤j ¤¤ ¤p¡j µû½×¡G1 ±ø

 ¦b¶µ¥Øªº¶}µo¹Lµ{¤¤¡A¦b³]­p¼Ò¦¡ªº·§©ÀÁÙ¨S¦³¥X¨Ó®É¡A§Ú­Ì¨º®É­Ô¦b½s¼gµ{§Ç®É¡A©¹©¹¦pªG¶µ¥Øªº¼Æ¾Ú®w¬O±Ä¥ÎSQL Server¡AµM«á¥Î¤á¤S·Q´«¨ä¥¦¼Æ¾Ú®w¦pOracle®É¡A§Ú­Ì´N»Ý­n¹ï¨ä¥N½X¶i¦æ­«¼g¡A¯S§O¬O¦b¤@¨Ç³n¥óªº²£«~¤Æ¹D¸ô¤¤¡A§Ú­Ì°µ¥X¨Óªº²£«~¦pªGÅý¥Î¤á¥i¥H¦³¿ï¾Üªº¥h¿ï¨ú¦UºØ¼Æ¾Ú®w¡A¨ºµLºÃ¹ï¥Î¤á´£¨Ñ¤F«Ü¤jªº¤è«K¡C

¦Û±q¤u¼t¼Ò¦¡ªº³]­p²z©À¥X¨Ó¥H«á¡A³o¤@¤Á¹ê²{´NÅܱo®e©ö±o¦h¡A¦pªG¤j®a¹ï·L³nªºPETSHOP¦³¬ã¨sªº¸Ü¡A¨º´N¤£·|­¯¥Í¤F¡A±qPETSHOP3.0¶}©l¡A·L³n´N¶}©l±Ä¥Î¤F¦h¼Æ¾Ú®w¾Þ§@«Y²ÎªºÀ³¥Î¡C¼Æ¾Ú¤u¼t¥D­n¬O³q¹L§â¼Æ¾Ú®wªº³s±µ°µ¦¨¤@­Ó©â¶Hªº¤u¼t¡A¦p©R¦WDALFactory¡Aµ{§Ç¤¤©Ò¦³ªº¼Æ¾Ú®w³s±µ³£³q¹L³o­Ó¤u¼tÃþ¨Ó²£¥Í¡A¥Î¨Ó­t³d®Ú¾Ú°t¸m¤å¥ó°ÊºA³Ð«Ø«Y²Î©Ò»Ýªº¼Æ¾Ú³X°ÝÅÞ¿è¹ï¶H¡C

§Ú­Ì´N®³PETSHOP¨ÓÁ|¨Ò»¡©ú¡APETSHOP¦b¦w¸Ëªº®É­Ô¡A·|´£¥Ü§Ú­Ì¿ï¾Ü¤°¤\¼Æ¾Ú®w¡A¦p®Ú¾ÚÅã¥Üªº¬OSQL Server¼Æ¾Ú®wÁÙ¬OOracle¼Æ¾Ú®w¡A¥i¥H±o¨ìWeb.configªº¸`ÂI¤¤ªº¡G

<add key=" WebDAL " value=" PetShop.SQLServerDAL "/>
<add key=" OrdersDAL " value=" PetShop.SQLServerDAL "/>

©ÎªÌ¬O

<add key=" WebDAL " value=" PetShop.OracleDAL "/>
<add key=" OrdersDAL " value=" PetShop. OracleDAL "/>

µM«á¦bDALFactory¶µ¥ØªºDataAccessÃþ¤¤½Õ¥Î¼Æ¾Ú®wªº³s±µ¡A¥N½X¦p¤U¡G

private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];

µM«á¦A¬Ý¤U­±ªº¥N½X¡G

public static PetShop.IDAL.ICategory CreateCategory() {
string className = path + ".Category";
return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
}

¦p§Ú­Ì¨Ï¥Îªº¬OSQL Server¡A¨º¤\string className = path + ".Category"ªð¦^ªº´N¬OPetShop.SQLServerDAL. Category¡AµM«á¦A¥ÎAssembly.Load¥[¸üPetShop.SQLServerDAL.DLL¡A¦P®É³Ð«ØPetShop.SQLServerDAL.Categoryªº¹ê¨Ò¡A¨Ã¥H±µ¤f(PetShop.IDAL.ICategory)Ãþ«¬ªð¦^¡C³o¼Ë·~°ÈÅÞ¿è¼hBLL½Õ¥ÎICategory±µ¤f®É´N·|¥ÎPetShop.SQLServerDAL.CategoryÃþªº¹ê²{¥N½X¡C

³o®É­Ô¥Î¤á´N¤£»Ý­nª¾¹D«á»O¨Ï¥Îªº¨ì©³¬O­þ¤@ºØ¼Æ¾Ú®w¡A¥¦¥u­n½Õ¥Î±µ¤f´N¦æ¤F¡A¦b±µ¤f¤¤©w¸q¤F­n¨Ï¥Îªº¤èªk¡A·í½Õ¥Î±µ¤f®É·|®Ú¾Ú¨ãÅ骺±¡ªp¦A¥h½Õ¥Î©³¼h¼Æ¾Ú³X°Ý¾Þ§@¡C¦Ó²{¦b³o­ÓDALFactory´N¬OÃöÁä¡A·í·~°ÈÅÞ¿è¼h­n¾Þ§@¼Æ¾Ú®w®É¡ADALFactory·|®Ú¾Ú¨ãÅ鱡ªp¦A¥h¨Ï¥Î¥Í¦¨ªºµ{§Ç¶°SQLServerDAL©ÎªÌOracleDAL¤¤ªº¤@­Ó¡A³o¼Ë°µªº¦n³B¬O¹ï©ó·~°ÈÅÞ¿è¼h¤ÎWEB­¶­±¼hªºµ{§Ç¤£·|¦]¬°©³¼h¼Æ¾Ú³X°Ýªºµ{§ÇÅܰʦӨü¨ì¼vÅT¡A¦]¬°¥u»Ý­n¦b·~°ÈÅÞ¿è¼h¤¤½Õ¥Î±µ¤f´N¦æ¤F¡C

¦³¥i¯à¦³¤H·|´£¡A§Ú¦P¼Ë¦b¤u¼tÃþùØ­±´£¨Ñ¤U­±ªº¤èªk¥h¹ê²{½Õ¥Î¼Æ¾Ú®w¡G

public static readonly DALFactory dalFa;string webDal = ConfigurationManager.AppSettings["WebDAL"];switch (webDal){case "SQLServerDAL":dalFa = new SqlServerDALFactory();break;case "OracleDAL":dalFa = new OracleDALFactory();break;default:dalFa = new SqlServerDALFactory();break;}

¦Ó³o­Ó®É­Ô¦pªG§Ú­Ì¼W¥[¤F·sªº¼Æ¾Ú®w³X°Ý¤è¦¡¡A´N¥²¶·±o­×§ï¦¹³¡¤Àªºµ{§Ç¡AµM«á¦A­«·s¶i¦æ½sͳ¡¸p¡A¦Ó¦P¼Ë§Q¥Î¤Ï®gªº¾÷¨î¥h¹ê²{ªº®É­Ô¡A§Ú­ÌÁ|­Ó¨Ò¤l¦pªG«Y²Î¤¤²{¦b»Ý­n¼W¥[MySQL¼Æ¾Ú®wªº®É­Ô¡A§Ú­Ì¨Ó¬Ý¬Ý¥¦ªº¥N½Xªº¥iÂX®i©Ê¡A§Ú­Ì¥i¥H¤ñ¸ûPETSHOP¤¤ªºSQLServerDAL¤U­±ªºCategory.cs¤å¥ó©MOracleDAL¤U­±ªºCategory.cs¤å¥óªº¥N½X¥iª¾¹D¡A¦]¬°¥¦­Ì³£Ä~©Ó¤FICategory±µ¤f¡A©Ò¥HÃþ¹ê²{ªº¤èªk³£¬Û¦P¡A³o®É­Ô§Ú­Ì¥u»Ý­n¼W¥[¤@­ÓMySqlDAL¶µ¥Ø¡A¨ä¤U­±ªºCategory.cs¤å¥ó¤]¦P¼Ë¿í´`ICategory±µ¤fªº¤èªk¡A³o®É­Ô§Ú­Ì¦A¥h­×§ï¬°³o­Ó®É­Ô³£¤£»Ý­n­«·s¹ï¶µ¥Ø¶i¦æ½sĶ¡A¥u»Ý­n¼W¥[MySqlDAL.DLL¤å¥ó´N¥i¡AµL½×¼W¥[¦h¤Ö¼Æ¾Ú®w¡A³£¬O¤@¥ó«Ü²³æªº¾Þ§@¡A¼Æ¾Ú¤u¼t¾Þ§@¦h¼Æ¾ÚªºÀuÂI´N©úÅã¥i¨£¡C



Tags¡G.NET   ¼Æ¾Ú¤u¼t   ¦h¼Æ¾Ú®w¾Þ§@  
³d¥ô½s¿è¡G¤ô¦â¬Ó´Â
  • ½Ð¤å©ú°Ñ»P°Q½×¡A¸T¤îº©½|§ðÀ»¡C ¥Î¤á¦W¡G ¡]·sª`¥U¡^ ±K½X¡G °Î¦W¡G
    µû½×Á`¼Æ¡G ±ø [ ¬d¬Ý¥þ³¡ ] ºô¤Íµû½×
    Ãö©ó§Ú­Ì - Áp«Y§Ú­Ì - ¼s§iªA°È - ¤Í±¡Ãì±µ - ºô¯¸¦a¹Ï - ª©ÅvÁn©ú - ¤H¤~©Û¸u - À°§U