Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¼Ü¹¹Ö®Â·£¨ËÄ£©£º°Ñ¿ò¼ÜÀ­³öÀ´
 
×÷Õߣº×ÔÓÉ·É À´Ô´:CSDN   ·¢²¼ÓÚ 2015-12-11
  2731  次浏览      27
 

ÕªÒª£ºÔÚϵÁÐÎÄÕµĵÚÎåÆªÌ¸¼°ÁËÍü¼ÇÊý¾Ý¿âµÄ´óÔ­Ôò£¬½ÓÏÂÀ´±¾Æ¬´øÄã´ÓÒµÎñ²ãÈëÊÖ¿ªÊ¼ÏµÍ³µÄ´î½¨¡£

¡¾±àÕß°´¡¿±¾ÎÄ×÷Õß×ÔÓÉ·É£¬¾ßÓд«Ææ°ãµÄÈËÉú¾­Àú£º

  • 98Äê¶Á´óѧ-¹ú¼ÊóÒ×רҵ
  • 03Äê11ÔÂÓ¢ÓïÅàѵ»ú¹¹µ±Ó¢ÓïÀÏʦ
  • 04Äê2ÔÂ-05Äê6ÔÂÂÉʦÊÂÎñËùʵϰºÍ¹«Ë¾·¨Îñ
  • 05Äê6ÔÂ-07Äê12Ô³ÉÁ¢×°Êι«Ë¾×öÀϰå
  • 08Äê8Ô¿ªÊ¼×Ôѧ±à³Ì
  • ¡­¡­

É˸ÐÓÚ¡¶Ò°Éú³ÌÐòÑԵĹÊÊ¡·Ò»ÎÄÆÀÂÛÖÐͬѧÃÇÆÕ±éÐÔµÄ×ÔÔ¹×Ô°¬£¬»Ø¹Ë×Ô¼ºÇóѧ̽Ë÷µÄ¼èÐÁ£¬Ô¸Òâ×öһЩÁ¦ËùÄܼ°µÄÊ£¬°ïÖúËùÓÐÁ¢Ö¾ÓÚ×ÔѧºÍ³É³¤µÄͬѧ¡£±¾¡¶¼Ü¹¹Ö®Â·¡·ÏµÁУ¬ÊÇËûÒÔÁ½¸öĿǰÈÔÔÚ¿ª·¢µÄÏîĿΪÀý£¬½²½âÈçºÎͨ¹ýÁìÓòÇý¶¯ºÍ²âÊÔÇý¶¯£¬½øÐÐÃô½Ý¿ª·¢£¬¹¹½¨Ò»¸öÃæÏò¶ÔÏóµÄB/SϵͳµÄÒ»´Î³¢ÊÔ¡£

Ç°ÃæµÄ¼¸Æª²©¿Í·´Ï컹²»´í£¬µ«»¹ÓÐÒ»¸öÓ²ÉË£¬¡°ËµÁËÕâô¶àÀíÂÛ£¬Äܲ»ÄÜʵ¼ù£¿¡±½²ÀàËÆ¸ÅÄîµÄÎÄÕ²»Ëã¶à£¬µ«Ò²²»ÉÙÁË£¬µ«ÎÒһֱûÄÜ´ÓÖÐÊÕ»ñÌ«¶àµÄ¶«Î÷£¬·´¶ø¸üÊÇÔÆÀïÎíÀïµÄºýÍ¿ÁË¡£¹À¼ÆÕâÖ÷ÒªÊÇÁ½·½ÃæµÄÔ­ÒòÔì³ÉµÄ£ºÎÒÖÇÉ̵ͣ¬È´°®½ÏÕæ£¡

Äã˵µÃµÃÌ컨ÂÒ×¹£¬ÎÒÖ»ÐÅÒ»µã£¬ÑÛ¼ûΪʵ£¬¡°ÊÇÂâ×ÓÊÇÂí£¬Ç£³öÀ´ÁïÁ¡±

°´ÕÕÄã˵µÄ¼Ü¹¹£¬°Ñϵͳ´îÆðÀ´£¬ÅÜÆðÀ´£¬ÐèÇó¸ÄÉϸö¼¸°ÙÉÏǧ±é£¬¸ß²¢·¢´óÁ÷Á¿³åÒ»³å¡­¡­ß×£¬ÕâÑùÒ»·¬ÕÛÌÚÏÂÀ´£¬Ã»±»Ôҿ磬ϵͳǧ´¸°ÙÁ¶Ö®ºó£¬»¹°ÙÁ¶³É¸ÖÈÆÖ¸Èá¡£ÄÇÎÒ²ÅÊúÆð´óÄ´Ö¸£¬ÕæÊDz»´í£¡

ÎÒÏàÐÅ£¬°´ÕÕDDD¡¢TTD¡¢Ãô½Ý¿ª·¢Ö®ÀàµÄÀíÄһ¶¨Óгɹ¦µÄ°¸Àý£¬²»È»ËûÃDz»»á±»Õ¾ÔÚáÛ·åµÄ¼¼Êõ´óÅ£Ãǽ»Ïà³ÆÔÞ¡£µ«ºÜÒź¶£¬ÎÒÕâ¸öÒ°Éú³ÌÐòÔ±£¬Ã»»ú»áÈÚÈëÄǸöȦ×Ó¡£

ËùÒÔÎÒ¾ÍÓÃÁËÒ»¸ö×îÂù×µÄ·½·¨£ºÎÒ×Ô¼º×öÒ»¸öϵͳ£¬Ñϸñ°´ÕÕÎÒ×Ô¼º¶ÔÓÚÕâЩ¸ÅÄîµÄÀí½â½øÐпª·¢£¬¿´×îºóÕâÌõ·Äܲ»ÄÜ×ß³öÀ´£¿Àú¾­ÎåÄêÉõÖÁ¸ü¶àʱ¼äµÄÃþË÷ºÍʵ¼ù£¬ÎÒ¾õµÃÎÒ»ù±¾ÉÏÊÇ×ß³öÀ´ÁË¡£

ËùÒÔ£¬Èç¹ûÄãÔ¸Ò⣬¾Í¾²ÏÂÐÄÀ´£¬ÌýÎÒϸϸµÀÀ´°É¡£

ÞÏÞÎ

ÔÚÈ·¶¨ÁËÍü¼ÇÊý¾Ý¿âµÄ´óÔ­ÔòÖ®ºó£¬ÎÒÃÇÀíÓ¦´ÓÒµÎñ²ãÈëÊÖ¿ªÊ¼ÏµÍ³µÄ´î½¨¡£

/*
Ϊʲô²»ÊÇ´ÓUI²ã¿ªÊ¼£¿²»ÒªÐ¦£¬ÎÒ»¹Õæ¼ÇµÃ£¬Óп´µ½¹ý¶ÔÕâÖÖ×ö·¨µÄ×ܽáºÍÍÆ¼ö£¬
»¹ÓÐÒ»¸öʲôרÓÐÃû´Ê£¬´ó¸Å¾ÍÊÇ¡°Ò³ÃæÇý¶¯¡±Ö®ÀàµÄ¡£
¶øÇÒÄã¾²ÏÂÐÄÏëÒ»Ï룬ÎÒÃǺܶàµÄ¿ª·¢Êµ¼ÊÉϾÍÊÇÕâÑù×öµÄ£¡
È·¶¨·½°¸Ö®ºó£¬ÃÀ¹¤³öЧ¹ûͼ£¬Ç°Ì¨ÇÐͼ³ö¾²Ì¬Ò³Ã棬³ÌÐòÔ±¸Ä³É¶¯Ì¬µÄ£¬Ò»Ò³Ò»Ò³µÄ×ö¡£
ÈÎÎñ¿¼ºË¾Í´ó¸ÅÊÇÕâÑùµÄ£¬¡°ÎÒÃǽñÌì°Ñij¸öÒ³Ãæ×öÍꡱ¡£
ÕâÖÖ×ö·¨µÄºÃ»µÀû±×ÎÒÃǾͲ»Õ¹¿ªÁË¡£µ«Èç¹ûÄãÒ»¶¨ÒªÒ»¸ö²»´ÓUI²ã¿ªÊ¼µÄÀíÓÉ£¬
ÎÒ¾õµÃ×îÓÐÁ¦µÄ¾ÍÊÇ£ºÎÒÃÇϵͳҪ×öÈý¸ö°æ±¾£¬µçÄÔ×ÀÃæÒ³Ãæ¡¢ÊÖ»úÒ³ÃæºÍÊÖ»úAPP¡£
*/

ÒµÎñ²ãÀͨ³£ÎÒÃǾͰÑÐèÇóÀïµÄһЩÃû´ÊÁà³öÀ´£¬×ö³ÉÒ»¸öÒ»¸öµÄÀ࣬ÒÔ´´Òµ¼Ò԰ΪÀý£¬¾ÍÓ¦¸ÃÓÐÒ»¸ö²©¿ÍÀà(Blog)£¬²©¿ÍÀﻹÓз½·¨£¬±ÈÈçGetBlog(int Id)£¬»òÕßGetBlogs(int pageIndex, int pageSize)£¬ÈçÏÂËùʾ£º

class Blog
{
string Title { get; set; }
string Body { get; set; }
Blog Get(int Id)
{
return new Blog();
}

IList<Blog> GetBlogs(int pageIndex, int pageSize)
{
return new List<Blog>() { };
}
}

ÕâÊÇÎÒ×ʼ½Ó´¥Èý²ã¼Ü¹¹Ê±ÒµÎñ²ãÀàµÄÑù×Ó£¬Ð´ÔÚÊéÉϵġ£

µ«ÎҾ͸оõÕâÖÖ×ö·¨Ìرð±ðŤ£¡Ò»¸ö²©¿Í¶ÔÏóÈ¡³ö10ƪ²©¿Í£¬Ò»Á¾Æû³µ¾ßÓÐÌṩʮÁ¾Æû³µµÄÄÜÁ¦¡£Õâ¶¼ÊÇЩʲôÂÒÆß°ËÔãµÄ¶«Î÷£¿²»Í¨°¡¡­¡­

ÎÒÔø¾­Ïë¹ý½«ËùÓеÄGet()·½·¨ÉèÖóɾ²Ì¬µÄ£¬ÕâÑù´ÓÂß¼­ÉÏ˵ÉÔ΢ͨ³©Ò»µã£ºÍ¨¹ý²©¿ÍÀà¿ÉÒÔ»ñȡһЩ²©¿ÍʵÀý¡£µ«»¹ÊDz»Ë¬£¬ÀàµÄ¾²Ì¬·½·¨¾ÍɥʧÁ˶ÔÏóµÄ¼Ì³Ð¶à̬µÈÌØÐÔ¡£±ÈÈ磬ȡ10ƪÎÄÕ£¬ºÍÈ¡10ƪ²©¿Í¾ÍÎÞ·¨ÖØÓá£

ºóÀ´ÎÒ²ÅÂýÂýÃ÷°×ÁË£¬ÕâÖÖ×ö·¨Æäʵ»¹ÊÇÀ´×ÔÓÚ¡°Êý¾Ý¿âÇý¶¯¡±µÄ˼Ïë¡£BlogÀàÆäʵ´ú±íµÄÊÇÊý¾Ý¿âÖÐBlog±í£¬Ò»¸öBlogʵÀý¾Í´ú±í×ÅÒ»ÐÐÊý¾Ý£¬È»ºóͨ¹ý¸Ã±íÈ¡µ½Ò»Ð©ÐУ¬ÕâЩÐÐÓÖ±»·â×°³ÉBlogÀࣨϸ¾¿ÆðÀ´»¹ÊǺÜÂÒ£¬Êǰɣ¿£©¡£¹À¼Æµ±³õ΢ÈíDataSetµÄÁ÷ÐмӾçÁËÕâÒ»ÏÖÏ󣬵±È»DataSet±¾ÉíûÓÐÎÊÌ⣬ËüµÄÂß¼­ÊÇ×ÔÇ¢µÄ£»È»¶øÓкܶ࿪·¢ÈËÔ±²»ÈÏ¿ÉDataSet£¬ËµËüÐÔÄܵͣ¬ÒªÓÃDataReader£¬×Ô¼º¡°·â×°¡±£¬½á¹û²»ÖªÔõôµÄ£¬¾Í¸ã³ÉÁËÉÏÃæÄÇÖÖÑùʽµÄ¡°ËIJ»Ïñ¡±¡£

Entity

ÉÏÊö´«Í³µÄÒµÎñ²ã¼Ü¹¹£¬³ýÁËÂß¼­ÉϵĻìÂÒÒÔÍ⣬»¹ÓÐÒ»¸öºÜ´óµÄÎÊÌ⣺ÄÑÒÔ²âÊÔ£¡ºÍÊý¾Ý¿â½ÁÔÚÒ»Æð£¬Ôõô²âÊÔ£¿ÎÒÊÇÍ·¶¼´óÁË¡£ÎÒµÃÈ¥×öÒ»¸öСÐÍÊý¾Ý¿â°¡£¿¶øÇÒÕâ¸öÊý¾Ý¿â»¹µÃinsert/updateÖ®ÀàµÄ£¬²âÊԵĻù×¼Êý¾Ý¾Í»á±ä£¬ËùÒÔÿһ´Îµ¥Ôª²âÊÔ¶¼µÃteardown£¨»Øµ½»ù×¼²âÊÔ»·¾³£©£¬Õâ¸öÓÖÔõô¸ã£¿

//µ±È»£¬ºóÀ´ÎÒ»¹ÊÇÕÒµ½ÁË»ìºÏÊý¾Ý¿âµÄ²âÊÔ·½·¨£¬µ«ÎҺܸßÐ˵±Ê±ÎÒ¶ÔÊý¾Ý¿âµÄ²âÊÔÍêÈ«¾øÍûµÄ״̬¡£
ÒòΪÕâ´Ù³ÉÁËÎҵġ°Íü¼ÇÊý¾Ý¿â¡±µÄ¹¹ÏëºÍʵ¼ù

ËùÒÔÎÒ¾ÍÔÚÏ룬Äܲ»ÄܰÑÊý¾Ý¿âµÄ²Ù×÷¸ôÀë³ö À´£¿Õâ¸öʱºò£¬ÎÒÓ¦¸ÃÊÇÒѾ­¿ªÊ¼½Ó´¥ORMÁË£¬ËûÃǵIJÙ×÷·½Ê½¸øÁËÎÒÆôµÏ£º¹ØÏµÊý¾Ý¿âµÄ¡°Ôöɾ¸Ä²é¡±ÖС°¸Ä¡±Ã»ÁË¡£¸Ä£¨update£©±»¡°Ò컯¡±³É£ºÈ¡³ö £¨Load£© -> ÐÞ¸Ä -> ÔÙ´æ´¢£¨Savae£©µÄ¹ý³Ì£¨¿É²Î¿¼¡¶Íü¼ÇÊý¾Ý¿â¡·ÖеÄÀý×Ó£©¡£ËùÒÔ£¬ÎÒÃÇÊDz»ÊǾͿÉÒÔÊ×ÏȰѡ°¸Ä¡±¶ÀÁ¢³öÀ´£¿Í¨¹ý²»¶ÏµÄÑÝ»¯£¬ÎÒ×îºóÐγÉÁËÒ»¸öEntityµÄproject£¬¸ºÔðÇÒ½ö¸ºÔð¶ÔÏó״̬µÄ¸Ä±ä£¬¶øÍêÈ«²»Éæ¼°¶ÔÏóµÄ¼ÓÔØ´æ´¢µÈ¹¦ÄÜ¡£

ÕâÑù×ö×î´óµÄºÃ´¦£¬¾ÍÊǽâ¾öÁËEntityµÄµ¥Ôª²âÊÔµÄÎÊÌâ¡£ÓÉÓÚ£¨ÖÁÉÙÊÇÔÝʱ£©²»ÔÙÐèÒª¿¼ÂÇÕâЩ¶ÔÏóºÍ´æ´¢ÎÊÌ⣬ÄÇôÔÚ²âÊÔµÄʱºò£¬ÎÒÐèÒªÒ»¸ö¶ÔÏó£¬Ö»ÐèÒªÖ±½ÓnewÒ»¸ö¾ÍÐÐÁË£¬¶ø²»ÊÇ´ÓÊý¾Ý¿âÀïÈ¡£¬Õâ¶à·½±ã°¡£¡

Query£¨Repository£©

ÄÇô£¬¶ÔÏóµÄÔöɾ²éÔõô°ì£¿´Ó¼¼Êõ²ãÃæÀ´½²£¬ÎÒÃÇÖ»ÄÜÒÀ¿¿ORM¹¤¾ßÁË£¬ÎÒÓõÄÊÇNHibernate¡£¼ò µ¥µÄ˵£¬Í¨¹ýNHibernate£¬ÎÒÃÇ¿ÉÒÔÔÚ¶ÔÏóºÍÊý¾Ý¿â½á¹¹Öн¨Á¢¹ØÏµ£¨Ó³É䣩¡£È»ºó£¬¿ÉÒÔͨ¹ýNHibernateµÄsession£¬µ÷Óà session.Save(), session.Delete(), session.Load()ºÍsession.Query()µÈ·½·¨½«¶ÔÏó´æ´¢¡¢É¾³ý»òÕß¼ÓÔØ/¼ìË÷µ½Äڴ棨C#ÏîÄ¿£©ÖÐʹÓá£

///  ΪʲôÊÇNHibernate£¿
/// 1¡¢ÎÒµÄÏîÄ¿¿ªÊ¼µÃ±È½ÏÔ磬ºÃ¼¸ÄêǰÁË£¬Ó¦¸ÃÊÇ¡£
µ±Ê±Entity Framework»¹ºÜ²»³ÉÊ죬ËùÒÔûÓа취£¬Ö»ÄÜÑ¡ÔñNHibernate
/// 2¡¢ÎÒÏë¿´Ò»¿´Î¢Èí¿ò¼ÜÒÔÍâµÄÊÀ½ç¡£ÆäʵºóÀ´ÎÒ¾ÍÖªµÀÁË£¬
ÔÚJavaÊÀ½ç£¬ÎÒµÄÕâЩ×ö·¨ÒѾ­²î²»¶àÊÇÖ÷Á÷ÁË£¬ËùνµÄSSHÖ®ÀàµÄ¡£
µ±È»£¬¶ÔJavaÊÀ½çÎÒÒ²Ñо¿²»É¿ÉÄÜÒ²ÓвîÒì¡£
ÎÒµÄÕâ¸ö¿ò¼ÜÊÇ×Ô¼ºÃþË÷³öÀ´µÄ£¬¾õµÃ¹»Óþͺá£

µ«´Óϵͳ¼Ü¹¹²ãÃæ½²£¬ÓÐÁíÍâÒ»ÖÖÌá·¨£ºRepositoryģʽ¡£

Repository£¬´Ó×ÖÃæÒâÒåÉÏÀí½â£¬¾ÍÊDzֿ⡣Õâ¸ö¸ÅÄîÎÒ¾õµÃºÜÌùÇУ¬¾ÍÏñÆû³µ´æ·ÅÔÚ¿â·¿ÀÎÒÃÇͨ¹ý²Ö¿â¹ÜÀíÔ±£¬È¡³öÒ»Á¾»ò¶àÁ¾Æû³µ¡£Õâ¾ÍÓС°´úÂëÓ³ÉäÕæÊµÊÀ½ç¡±£¬Ò»ÖÖÂß¼­×ÔÇ¢µÄ¸Ð¾õ£»¶ø²»ÊÇ֮ǰ£¬Ò»Á¾Æû³µÈ¡³öÊ®Á¾Æû³µµÄÑù×Ó¡£

¾ßÌåµ½´úÂë²ãÃæ£¬¾Í´ó¸ÅÊÇÕâ¸öÑù×Ó£º

class BlogRepository
{
IList<Blog> GetBlogs(int pageIndex, int pageSize)
{
return new List<Blog>() { };
}
Blog Get(int Id)
{
return new Blog(); }

µ«RepositoryµÄÀí½âºÍʹÓö¼ÓÐÕùÒ飬Ö÷Á÷µÄ´ó¸ÅÓÐÁ½ÖÖ£º

  1. ÈÏΪRepositoryÊÇÀàËÆÓÚ¼¯ºÏ£¬»òÕßÒ»ÖÖ·â×°¼¯ºÏµÄ¶ÔÏó¡£ËùÒÔ»¹ÊǰÑËü·Åµ½ÁËEntityÖÐʹÓá£
  2. ÈÏΪRepositoryÊÇ¡°¾ÛºÏ¸ù¡±µÄÒ»ÖÖ£¬ºÍÈ¡³ö/´æ´¢¶ÔÏó²¢ÁУ¬Ó¦¸ÃÖÃÓÚEntityÖ®Íâ¡£

ÎÒÁ¬Repository¶¼Ã»ÓÐÏÔʽµÄʹÓã¬ËùÒԾͲ»½øÐÐÕâÖÖ¹ØÓÚ¸ÅÄîµÄ³éÏóÌÖÂÛÁË¡£ºóÃæÓлú»áÎÒÃÇ´©²å׎²Ò»½²°É¡£

ÎÒÃÇ¡°Ôö¡±ºÍ¡°É¾¡±Ö±½ÓÀûÓÃÁËNHibernateµÄsession»úÖÆ£¬Ö»Êǰѡ°²é£¨select£©¡±¸øµ¥¶À³éÏóÁ˳öÀ´£¬Ò²µ¥¶ÀµÄ³éÏó³ÉÒ»¸öÃûΪQueryµÄproject¡£

Service

ºÃÁË£¬ÏÖÔÚÎÒÃÇ¿ÉÒÔ»ØÍ·¹éÄÉһϡ£¶ÔϵͳÊý¾ÝµÄ²Ù×÷£¬ÎÒÃÇÄÔº£ÖÐÓ¦¸ÃÊÇÕâÑùÒ»¸ö¸ÅÄ

  • ǰÌ᣺ËùÓеĶÔÏóƽʱ¶¼ÊÇÖ±½ÓµÄ´æ´¢ÔÚ´ÅÅÌÀȻºó£º
  1. ÎÒÃÇÐèҪij¸ö/Щ¶ÔÏóʱ£¬¾Í°ÑËûÃÇ´Ó´ÅÅÌÀïÈ¡³öÀ´£¬¼ÓÔØµ½ÄÚ´æÖÐ
  2. ½øÐÐһЩ²Ù×÷ÐÞ¸Ä
  3. ×îºóÔÙ´æ´¢µ½´ÅÅÌÖÐ

ÄÇôÎÊÌâÀ´ÁË£¬ÉÏÃæÕâЩ²½Ö裬ÓÉ¡°Ë­¡±À´×öÄØ£¿×¢ÒâÎÒÃÇÏÖÔÚËù˵µÄÕâЩ¶«Î÷£¬¶¼ÊÇÔÚÒµÎñ²ãµÄ·¶³ë¡£ËùÒÔ£¬°´ÕÕÈý²ã¼Ü¹¹µÄ˼·£¬Ó¦¸ÃÊÇUI²ãµ÷ÓÃBLL²ã£¬¶øÎÒÃǵÄUI²ã£¬²ÉÓõÄÊÇMVC£¬ËùÒÔ£¬ÕâÑù¹¤×÷£¬ÊDz»ÊÇÓ¦¸ÃÔÚControllerÀïÃæ×ö£¿

µ«ÊÇ£¬ÔĶÁÎÒÃǵÄÔ´´úÂ룬Äã¾Í»á·¢ÏÖ£¬ÎÒÃÇÔÚUI²ãºÍBLL²ãÖ®¼ä¼ÓÁËÒ»¸öService²ã¡£Êµ¼ÊÉÏÊÇÓÉService²ãÀ´×öµÄÕâЩ¼ÓÔØ¡¢Ð޸ĺʹ洢µÄ¹¤×÷¡£Îҷdz£Í¬ÒâÕâôһ¸ö¹Ûµã£º¾ø²»ÄÜΪÁË·Ö²ã¶ø·Ö²ã¡£ÄÇô£¬Service²ã´æÔÚµÄÒâÒåÊÇʲô£¿

Ö÷ÒªÊÇΪÁËǰºó¶Ë·ÖÀë¡£ÔçÆÚµÄ¿ª·¢¹ý³ÌÖУ¬ÎÒ ÉèÏë¹ýÕÐÆ¸Ò»¸öרÃŵÄǰ¶Ë¿ª·¢ÈËÔ±£¬Ëû/Ëý²»¹Üºǫ́µÄ¾ßÌåÒµÎñÂß¼­¡¢ºÍÊý¾Ý¿âµÄ½»»¥£¬Ö»¹ÜÒ³ÃæµÄ³ÊÏֺͽ»»¥¡£ÄÇôÕâÀï¾ÍÓÐÒ»¸öÎÊÌ⣬ÎÒ²»ÏëËýÖ»ÊÇÒ»¸öµ¥´¿ µÄÃÀ¹¤£¬»­³öЧ¹ûͼÇÐÆ¬Åª³ÉÒ»¸öhtmlµÄ¾²Ì¬Ò³Ãæ¾ÍÍêÁË£¬ÎÒÏ£ÍûËýÒ»ÑùµÄÓÃVS½øÐпª·¢£¬ÓÃRazor×ö³Éview£¬»¹¸ºÔðÒ³ÃæµÄ½»»¥ºÍÌø×ª£¬ËùÒÔËý»¹ µÃÔÚControllerÀィAction£¬ÔÚActionÀïд´úÂë¡£ËùÒÔËýÔÚActionÀïд´úÂ룬ÊÇÒªµÃµ½Êý¾ÝÓÃÒÔ³ÊÏֵģ¬ÊÇÐèÒª¸ù¾ÝÒ³Ãæ»Ø·¢µÄÊý¾Ý µ÷Óò»Í¬µÄÒµÎñÂß¼­µÄ¡£ÄÇô£¬ÕâЩÊý¾ÝÕâЩµ÷ÓÃÔõôµÃÀ´£¿µÈןǫ́¿ª·¢ÈËÔ±Íê³ÉÁËÖ®ºóÔÙ×ö£¿ÕâÎÞÒÉÊǺܲ»¾­¼ÃµÄ¡£

ËùÒÔÎÒÃdzéÏóÁËÒ»¸öServiceInterface£¬Ç°Ì¨ºÍºǫ́¿ª·¢ÈËÔ±¿ÉÒÔÏÈÈ·Á¢Ò»ÏµÁеĽӿڣ¬È»ºó¸÷×ÔÈ¥Íê³É×Ô¼ºµÄʵÏÖ¡£ÓÚÊǾÍÓÐÁË£º

  1. UIDevService£ºÇ°Ì¨¿ª·¢ÈËÔ±µÄ¡°Ä£Ä⡱ʵÏÖ£¬¿´Ô´´úÂë¾Í¿ÉÒÔ·¢ÏÖ£¬ÀïÃæÊÇһЩ·Ç³£¼òµ¥´Ö±©µÄÂß¼­¡£±ÈÈçÐèÒªÒ»¸öViewModel¶ÔÏ󣬾ÍÖ±½Ó¸ønewÒ»¸ö¾Í¿ÉÒÔÁË¡£
  2. ProdService£ºÕæÕýµÄÒµÎñÂß¼­ÊµÏÖ£¬ÊÇÒ»Ö±Á¬µ½Êý¾Ý¿âµÄ¡£

ÕâÆäʵ¾ÍÓÐÒ»µã¡°ÃæÏò½Ó¿Ú¡±µÄÒâ˼£¬Ç°Ì¨ºǫ́¶¼ÒÀÀµÓÚServiceInterfaceµÄ½Ó¿Ú£¬¶ø²»¹ÜÆä¾ßÌåµÄʵÏÖ¡£

//  ´ÓÕâÀïÎÒÃǾͿÉÒÔ¿´³öÀ´£¬¸´Ôӵļܹ¹ÊÇÒ»ÖÖÎÞÄεÄÑ¡Ôñ¡£
// Èç¹ûÎÒÃǵÄËùÓпª·¢ÈËÔ±¶¼ÊÇȫջ¼¶±ðµÄ£¬¿ÉÒÔ´ÓЧ¹ûͼһֱ²åµ½Êý¾Ý¿â£¬
ÎÒÃÇ¿ÉÄܾ͸ù±¾²»ÐèÒªÕâôÂé·³¡£
// ¶øÏÖʵµÄÇé¿öÊÇ£¬¶ø´ó²¿·ÖµÄ¿ª·¢ÈËÔ±£¬¶¼ÓÐËûÃǵÄר¹¥·½Ïò£»È«Õ»³ÌÐòÔ±±Ï¾¹Ì«ÉÙÁË¡£

µ±È»£¬ÕâÑù¸ôÀë³öUIDevServiceÖ®ºó£¬»¹¸½´øÁËÆäËûһЩºÃ´¦£¬±ÈÈç¸ü±ãÀûµÄµ¥Ôª²âÊÔ¡£ÕâЩÎÒÃǶ¼ÒÔºóÔÙ˵¡£

ÉÏÕÅͼ°É¡£ÏÈ¿´¿´£¬¿´²»¶®Ò²¾ÍËãÁË£¬ÊµÔÚÊÇÎÒ»­µÃ²»Õ¦µÄ¡£ÒÔºó»¹»áÏêϸ½²µÄ£º

ViewModel

ÎÒÃÇÏîÄ¿Öл¹ÓÐÒ»¸öViewModel£¬ÎÒÃǵĿª·¢ÈËÔ±Ôø²»Ö¹Ò»´ÎµÄÌá³öÀ´£ºÎªÊ²Ã´²»ÄÜÖ±½ÓʹÓÃEntityÄØ£¿

Îҷdz£Àí½âËûµÄÒÉ»ó£¬Ò»´Î´ÎµÄ°ÑÒ»¸öEntityÀïÃæµÄArticleµÄÊôÐÔÈ¡³öÀ´£¬ÔÙÒ»ÌõÌõµÄ·Åµ½Ò»¸öArticleViewModelÀïÃæÈ¥£¬Õâ¶àÄÖÐİ¡£¿³Ô±¥Á˳ŵģ¿

Æäʵ£¬ÎÒÒ²ÊÇ¿ª·¢ÈËÔ±£¬Õâ¿ò¼ÜÊÇÎÒÒ»¸ö×Öĸһ¸ö×ÖĸÇóöÀ´µÄ£¬ÄÜ͵ÀÁµÄÎҿ϶¨¶¼»á͵ÀÁ£¡¾ÍÏñÇ°ÃæÎÒû²ÉÓÃRepositoryÒ»Ñù£¬ÎÒÉõÖÁ¶¼»¹Åª¹ýÁ½²ã¼Ü¹¹£¬µ«×îºó¶¼Ã»ÓкÃϳ¡£¬²ÅÒ»²½²½×ßµ½½ñÌì¡£¼òµ¥µÄ˵£¬ViewModel´æÔÚµÄÔ­ÒòÖ÷ÒªÓÐÁ½¸ö£º

µÚÒ»¡¢Ç°ºó¶Ë·ÖÀëµÄÒªÇó¡£Èç¹ûÖ±½ÓʹÓÃEntity£¬Ç°Ì¨¿ª·¢ÈËÔ±ÊDz»ÊÇÓֵõÈ×Å ºǫ́¿ª·¢ÈËÔ±°ÑEntityÏȽ¨ºÃ£¿ÊDz»ÊÇEntityÒ»Óб䶯¾Í»áÁ¢ÂíÓ°Ïìǰ̨¿ª·¢£¿ÓÐÐËȤµÄͬѧ¿ÉÒÔ¹Û²ìÎÒÃÇµÄ ui.task.zyfei.net.sln½â¾ö·½°¸£¬BLL²ãÀïµÄËùÓÐprojectÊǸù±¾¾ÍûÓаüÀ¨ÔÚÀïÃæµÄ£¬ÎÒÃdz¹µ×µÄ×öµ½ÁËÎïÀí¸ô¾ø£¡

µÚ¶þ¡¢ViewModelºÍEntityÆäʵÊDz»ÄÜ100%¶ÔÓ¦µÄ¡£³¢ÊÔ¹ýµÄͬѧ¶¼Ó¦¸ÃÃ÷°×¡£±ÈÈçÎÒÃÇ´´Òµ¼ÒÔ°Ïî Ä¿ÀïÓС°×îз¢²¼²©¿Í¡±µÄÁбíС·½¿é£¬ËüÊÇÒ»¸ö²©¿ÍµÄ¼¯ºÏ£¬ÄãÔõôŪ£¿Äã˵ÎÒ¿ÉÒÔʹÓÃIList<Blog>£»µ«Õâ¸öС·½¿éÀﻹÓÐÒ»¸öÂß¼­£º Èç¹ûµ±Ç°Óû§ÊDz©¿Í²©Ö÷£¬ÏÔʾÐÞ¸ÄÁ´½Ó¡£ËùÒÔÐèÒª¡°µ±Ç°Óû§¡±µÄÊý¾Ý£¬ÄãÓÖÔõô°ÑÕâ¸öÊý¾ÝŪ½øÀ´£¿µ±È»£¬ÕâÊÇÒ»¸öºÜ´óµÄÃüÌâ¡£Äã¿Ï¶¨¿ÉÒÔͨ¹ý¸÷ÖÖÊÖ¶Î×ö µ½£¬×î¼òµ¥µÄ¾ÍÊÇʹÓÃViewBag¡£»ìºÏViewBagºÍEnitty£¬¼¸ºõ¿ÉÒÔ½â¾öËùÓÐÎÊÌ⣬µ«ÓÐʱºòÌ«³óªÁË£¡

×îºó£¬ÎÒÃÇÆäʵӦ¸ÃÌø³öÀ´£¬´Ó¼Ü¹¹µÄ½Ç¶ÈÀ´Ë¼¿¼Õâ¸öÎÊÌâ¡£ViewModel¾¿¾¹ÊÇʲô£¿Ëü˵³ÐÔØµÄÖ°ÔðÓ¦¸ÃÊÇʲô£¿Ó¦¸ÃÓÉË­À´¹¹½¨Ëü£¿¡­¡­

ÎÒÈÏΪ£ºViewModel±¾ÖÊÉϾÍÊÇÒ»¸öÓÃÓÚÒ³Ãæ³ÊÏÖµÄÊý¾ÝÈÝÆ÷£¨DTO£©£¬Ëù ÒÔËû²»Ó¦¸Ã¾ßÓÐÈκÎÄÚÔÚÂß¼­£¬¶øÇÒÓ¦¸ÃÓÉǰ¶Ë¿ª·¢ÈËÔ±À´¹¹½¨Ëü¡£Ç°¶Ë¿ª·¢ÈËÔ±Ó¦¸Ã³¹µ×µÄ°ÚÍÑÒµÎñ²ãÖеÄEntityµÄÊø¸¿£¬¸ù¾ÝÒ³ÃæµÄ³ÊÏÖ¹æÂÉ£¬´óµ¨µÄ½ø Ðи÷ÖÖ³éÏó×éºÏ£¬Ê¹µÃViewModelÕæÕýµÄÕÀ·ÅËüµÄ¹â²Ê£¡

MVC

˵ÍêÁËÉÏÃæÕâЩ£¬MVCÆäʵҲ¾ÍûʲôºÃ˵µÄÁË¡£¾ÍÊÇControllerµ÷Óà Service£¬µÃµ½ViewModel¹©ViewʹÓÃÕâÑùÒ»¸öÁ÷³Ì¡£µ±È»£¬ÀïÃæÓкܶàÖµµÃϸ½²µÄÄÚÈÝ£¬±ÈÈçmvc routeµÄ²âÊÔ¡¢Ê¹ÓÃAutofacÇл»ServiceµÄʵÏÖ¡¢Session Per Request½øÐÐÐÔÄÜÓÅ»¯µÈ¡£ÎÒÃÇÔÚÖ®ºóµÄ·ÖÔòÀïϸ½²¡£

ÕâÀﻹÊÇÉÏÒ»ÕÅÎÒÖÆ×÷µÄPPT°É£¬³óÁ˵㣬ÏȽ«¾Í¿´°É£¡

Tool

¿´¹ýÔ´´úÂëµÄͬѧ¿Ï¶¨Ò²×¢Òâµ½ÁËÏîÄ¿ÀïÓÐÒ»¸öToolµÄÏîÄ¿Îļþ¼Ð¡£ÀïÃæ×îÖØÒªµÄ£¬¾ÍÊÇBuildDatabaseÏîÄ¿¡£Õâ¸öÏîÄ¿£¬¼ç¸ºÁ˹¹½¨¿ª·¢ºÍ¼¯³É²âÊÔÊý¾Ý¿âµÄË«ÖØÔðÈΣ¬»¹ÓаïÖúÉú³É»·¾³Êý¾Ý¿â¸üеÄ×÷Óã¬ÊDzâÊÔÇý¶¯µÄÓÐÁ¦±£Ö¤¡£¿É²Î¿¼£¨Îĵµ¿É²âÊÔ»¯£©

ÒªÌîµÄ¿Ó

¿ò¼Ü¾ÍÕâôÀ­³öÀ´ÁË£¬µ«ÆäʵÀïÃæµÄ¿Ó»¹Óкܶ࣬³Ã×ÅÓÐ˼·£¬ÏÈÍÚ³öÀ´£¬ÒÔºóÂýÂýÌ

1. UI

  • CurrentUserµÄ´¦Àí£ºÒ²ÊÇÒ»¸öÏ൱ͷʹµÄ¶«Î÷£¬ÒòΪ»á´óÁ¿Ê¹Óã¬ÄÇô¾ÍÏë×ÅÒªÖØÓã¬ÒªÏëÖØÓþÍÉËÄÔ½î
  • Get-Post-Redirctģʽ£ºÀïÃæÒ²ÊÇÒ»¶ÑµÄ¿Ó¡£ÒòΪHttpÊÇÎÞ״̬µÄ£¬ËùÒÔRedirectµÄʱºò¾ÍÃæÁÙ×ÅÒ»¸ö´«µÝÊý¾ÝµÄÎÊÌâ
  • MVC Route£ºÔø¾­ÉËÐÄÓû¾ø£¬µ±Ò³Ã渴ÔÓÖ®ºó£¬url¾ÍÌø²»µ½Ö¸¶¨µÄaction£»»òÕßÉÔÒ»¸Ä¶¯£¬ÒÔǰµÄroute¹æÔò¾Í¾Í±ÀÀ£ÁË
  • Partial View¡¢EditTemplateºÍChild Action£ºÔÚÀïÃæ²»ÖªµÀÔÎÁ˶à¾Ã
  • µ¥Ôª²âÊÔ
  • ÆäËûÐÔÄÜÓÅ»¯

2. Service

  • Ìá¸ßÐÔÄÜ£ºSessionPerRequest¡£Õâ¸ö±ØÐë·ÅÔÚ×îÇ°ÃæËµ£¬ÒòΪËüÉî¿ÌµÄÓ°ÏìÁËÎÒÃÇÏÂÃæÌáµ½µÄÒ³Ãæ¼Ü¹¹µÄºÜ¶à¶«Î÷
  • UIDevºÍProdµÄÇл»£ºÀûÓÃAutofac
  • SessionPerRequestµÄ¾ßÌåʵÏÖ£¬ºÍUIºÍNHibernate¶¼½ÁÔÚÒ»Æð£¬Õæ²»ÖªµÀ¸Ã·ÅÔÚÄÄÀï˵
  • Ϊʲô²»Ê¹ÓÃRepositoryģʽ¶ø²ÉÓÃQuery
  • ViewModeµÄMap£ºÊ¹ÓÃAutomapper
  • µ¥Ôª²âÊÔ£ºQueryÓÖÒª½Áµ½Êý¾Ý¿â£¬°¦¡­¡­

3. BLL

  • Entity´ó¼¯ºÏµÄÐÔÄÜÎÊÌâ¡£ÓÉÓÚ¶ÔÏó¼äµÄ1:nµÄ¹ØÏµÓ³É䣬Ôì³ÉÒ»²»Ð¡ÐÄ£¬¾Í³¶³öÒ»¶Ñ¼¯ºÏÊý¾Ý³öÀ´£¬±ÈÈçÒ»¸öAuthorµÄËùÓÐArticle£¬Ò»¸öArticleµÄËùÓÐComment¡¢AgreeºÍDisagree¡£ÒªÕâÑù۵ϰ£¬ÔÙ¶àµÄÄÚ´æÒ²³Ô²»Ïû¡£
  • EntityµÄ¶à̬ӦÓᣳ¬¼¶´ó¿Ó£¬¼òÖ±ÊÇÒª³öÈËÃüµÄ¸Ð¾õ£¬ÎÒ¾õµÃÎÒÄÜÅÀ³öÀ´¶¼ÊǸöÆæ¼£
  • EntityµÄµ¥Ôª²âÊÔ¡£ÓÉÓÚEntityÖ®¼ä¸´ÔӵĶÔÏó¹ØÏµ£¬Æäµ¥Ôª²âÊÔ¼òÖ±¾ÍÊÇÒ»³¡ÔÖÄÑ
  • EntityµÄNHMapµ¥Ôª²âÊÔ¡£EntityÀﶼûÎÊÌâÁË£¬µ«ÄãÔõô±£Ö¤EntityµÄÊý¾Ý¿âÓ³ÉäʱÕýÈ·µÄ£¿Ö»ÄÜ×öµ¥Ôª²âÊÔ£¬»¹ÊÇÈÆ²»¿ªÊý¾Ý¿â£¡

4. Tool

  • BuildDatabase£º³¬¼¶·±Ëö³¬¼¶ÄÑ
  • ÆäËûÇåÀíͳ¼Æ¹¤¾ßµÈ

ºÇºÇ£¬Ô­À´ÓÐÕâô¶à¿Ó£¡

ÕâÓÖÈÃÎÒ²»ÓɵÃÏëÆðÎÒ·³ÔêÅØÏø£¬³¶Í··¢Ë¤Êó±êµÄÄÇЩÈÕÈÕÒ¹Ò¹£¬ÎÒÒ²²»Ö¹Ò»´ÎµÄ»³ÒÉ ¹ý£¬ÎÒÊDz»ÊÇ×ß´íµÀÁË£¿ÕâЩÂÒÆß°ËÔãµÄMVC¡¢²âÊÔÇý¶¯¡¢ÃæÏò¶ÔÏó¡­¡­¸ù±¾¾ÍûÓÐÈÃÎÒ¸ü¸ßЧ˳³©µÄ¿ª·¢£¬ºÃÏñÖ»ÊDz»¶ÏµÄÔÚ³¶ÎҵĺóÍÈ¡£ÎÒ¾ÍÓô«Í³µÄ°ì·¨£¬ ÍϿؼþÔöɾ¸Ä²éÊý¾Ý¿âÓÖÔõôÀ²£¿²»ÊÇÒ»ÑùÄÜÓã¿¶øÇÒ˵²»¶¨Ôç¾Í¿ª·¢ÍêÁË£¡¡­¡­

µ«Ò»´ÎÓÖÒ»´Î½â¾öÎÊÌâµÄϲÔã¬Ò»²»Ð¡ÐÄ¿úÊÓµ½ÁíÒ»¸öÊÀ½çµÄ¾ªÆæ£¬ÈÃÎÒÓû°Õ²»ÄÜ¡£Õâ¿ÉÄܾÍÊǼ¼Êõ·£¬ÈËÉú·£¬´óµÖÒ²Èç´Ë°É£¿

 

   
2731 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Óû§¹ÊÊÂÓëÓÃÀý
½»»¥Éè¼ÆÊ¦Ö®¾«Òæ»­²¼Æª
Êý¾Ý·ÖÎöÖ®Óû§»­Ïñ·½·¨Óëʵ¼ù
ÈçºÎ¿ìËÙ½¨Á¢Óû§Ä£ÐÍ£¿
 
Ïà¹ØÎĵµ

Óû§½çÃæÉè¼Æ
¸øÆóÒµ×ö´óÊý¾Ý¾«×¼Óû§»­Ïñ
Óû§ÌåÑéºÍ½»»¥Éè¼Æ
´óÊý¾ÝϵÄÓû§»­Ïñ
Ïà¹Ø¿Î³Ì

Óû§ÌåÑé&½çÃæÉè¼Æ
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
Óû§Ñо¿ÓëÓû§½¨Ä£
Óû§ÌåÑéµÄÈí¼þUIÉè¼Æ×î¼Ñʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

´ÓÊÖ»úµÇÂ¼Ò³ÃæÉè¼ÆÏëµ½µÄ
ÈçºÎ°ÑÎÞÒâʶÒýÈë½»»¥Éè¼ÆÖÐ
½»»¥Éè¼ÆµÄÕæÏà
µ±ÊÓ¾õÉè¼ÆÊ¦ÓöÉϲúÆ·¾­Àí
ÊÖ»ú½»»¥Éè¼ÆÔ­Ôò
Óû§ÌåÑéÖ®ÍøÒ³°å¿éÉè¼Æ

ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
¿ÉÓÃÐÔÆÀ¹À
Desktop¼°Web-basedÊÓ¾õÉè¼Æ
ÈÏÖªÔ­ÀíÓëÉè¼ÆÓ¦ÓÃ
ÊÖ»úÓû§½çÃæÉè¼Æ

±±¾© ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ
±±¾© Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉϺ£ »ªÎª Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉîÛÚ Óû§ÌåÑé& ½çÃæÉè¼Æ
°®Á¢ÐÅ ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
±±¾© Óû§ÌåÑéÓë½çÃæÉè¼Æ
¸£ÖÝ ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ