ÕªÒª£ºÔÚϵÁÐÎÄÕµĵÚÎåÆªÌ¸¼°ÁËÍü¼ÇÊý¾Ý¿âµÄ´óÔÔò£¬½ÓÏÂÀ´±¾Æ¬´øÄã´ÓÒµÎñ²ãÈëÊÖ¿ªÊ¼ÏµÍ³µÄ´î½¨¡£ ¡¾±àÕß°´¡¿±¾ÎÄ×÷Õß×ÔÓÉ·É£¬¾ßÓд«Ææ°ãµÄÈËÉú¾Àú£º
- 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µÄÀí½âºÍʹÓö¼ÓÐÕùÒ飬Ö÷Á÷µÄ´ó¸ÅÓÐÁ½ÖÖ£º
- ÈÏΪRepositoryÊÇÀàËÆÓÚ¼¯ºÏ£¬»òÕßÒ»ÖÖ·â×°¼¯ºÏµÄ¶ÔÏó¡£ËùÒÔ»¹ÊǰÑËü·Åµ½ÁËEntityÖÐʹÓá£
- ÈÏΪRepositoryÊÇ¡°¾ÛºÏ¸ù¡±µÄÒ»ÖÖ£¬ºÍÈ¡³ö/´æ´¢¶ÔÏó²¢ÁУ¬Ó¦¸ÃÖÃÓÚEntityÖ®Íâ¡£
ÎÒÁ¬Repository¶¼Ã»ÓÐÏÔʽµÄʹÓã¬ËùÒԾͲ»½øÐÐÕâÖÖ¹ØÓÚ¸ÅÄîµÄ³éÏóÌÖÂÛÁË¡£ºóÃæÓлú»áÎÒÃÇ´©²å׎²Ò»½²°É¡£
ÎÒÃÇ¡°Ôö¡±ºÍ¡°É¾¡±Ö±½ÓÀûÓÃÁËNHibernateµÄsession»úÖÆ£¬Ö»Êǰѡ°²é£¨select£©¡±¸øµ¥¶À³éÏóÁ˳öÀ´£¬Ò²µ¥¶ÀµÄ³éÏó³ÉÒ»¸öÃûΪQueryµÄproject¡£
Service
ºÃÁË£¬ÏÖÔÚÎÒÃÇ¿ÉÒÔ»ØÍ·¹éÄÉһϡ£¶ÔϵͳÊý¾ÝµÄ²Ù×÷£¬ÎÒÃÇÄÔº£ÖÐÓ¦¸ÃÊÇÕâÑùÒ»¸ö¸ÅÄ
- ǰÌ᣺ËùÓеĶÔÏóƽʱ¶¼ÊÇÖ±½ÓµÄ´æ´¢ÔÚ´ÅÅÌÀȻºó£º
- ÎÒÃÇÐèҪij¸ö/Щ¶ÔÏóʱ£¬¾Í°ÑËûÃÇ´Ó´ÅÅÌÀïÈ¡³öÀ´£¬¼ÓÔØµ½ÄÚ´æÖÐ
- ½øÐÐһЩ²Ù×÷ÐÞ¸Ä
- ×îºóÔÙ´æ´¢µ½´ÅÅÌÖÐ
ÄÇôÎÊÌâÀ´ÁË£¬ÉÏÃæÕâЩ²½Ö裬ÓÉ¡°Ë¡±À´×öÄØ£¿×¢ÒâÎÒÃÇÏÖÔÚËù˵µÄÕâЩ¶«Î÷£¬¶¼ÊÇÔÚÒµÎñ²ãµÄ·¶³ë¡£ËùÒÔ£¬°´ÕÕÈý²ã¼Ü¹¹µÄ˼·£¬Ó¦¸ÃÊÇUI²ãµ÷ÓÃBLL²ã£¬¶øÎÒÃǵÄUI²ã£¬²ÉÓõÄÊÇMVC£¬ËùÒÔ£¬ÕâÑù¹¤×÷£¬ÊDz»ÊÇÓ¦¸ÃÔÚControllerÀïÃæ×ö£¿
µ«ÊÇ£¬ÔĶÁÎÒÃǵÄÔ´´úÂ룬Äã¾Í»á·¢ÏÖ£¬ÎÒÃÇÔÚUI²ãºÍBLL²ãÖ®¼ä¼ÓÁËÒ»¸öService²ã¡£Êµ¼ÊÉÏÊÇÓÉService²ãÀ´×öµÄÕâЩ¼ÓÔØ¡¢Ð޸ĺʹ洢µÄ¹¤×÷¡£Îҷdz£Í¬ÒâÕâôһ¸ö¹Ûµã£º¾ø²»ÄÜΪÁË·Ö²ã¶ø·Ö²ã¡£ÄÇô£¬Service²ã´æÔÚµÄÒâÒåÊÇʲô£¿
Ö÷ÒªÊÇΪÁËǰºó¶Ë·ÖÀë¡£ÔçÆÚµÄ¿ª·¢¹ý³ÌÖУ¬ÎÒ ÉèÏë¹ýÕÐÆ¸Ò»¸öרÃŵÄǰ¶Ë¿ª·¢ÈËÔ±£¬Ëû/Ëý²»¹Üºǫ́µÄ¾ßÌåÒµÎñÂß¼¡¢ºÍÊý¾Ý¿âµÄ½»»¥£¬Ö»¹ÜÒ³ÃæµÄ³ÊÏֺͽ»»¥¡£ÄÇôÕâÀï¾ÍÓÐÒ»¸öÎÊÌ⣬ÎÒ²»ÏëËýÖ»ÊÇÒ»¸öµ¥´¿ µÄÃÀ¹¤£¬»³öЧ¹ûͼÇÐÆ¬Åª³ÉÒ»¸öhtmlµÄ¾²Ì¬Ò³Ãæ¾ÍÍêÁË£¬ÎÒÏ£ÍûËýÒ»ÑùµÄÓÃVS½øÐпª·¢£¬ÓÃRazor×ö³Éview£¬»¹¸ºÔðÒ³ÃæµÄ½»»¥ºÍÌø×ª£¬ËùÒÔËý»¹ µÃÔÚControllerÀィAction£¬ÔÚActionÀïд´úÂë¡£ËùÒÔËýÔÚActionÀïд´úÂ룬ÊÇÒªµÃµ½Êý¾ÝÓÃÒÔ³ÊÏֵģ¬ÊÇÐèÒª¸ù¾ÝÒ³Ãæ»Ø·¢µÄÊý¾Ý µ÷Óò»Í¬µÄÒµÎñÂß¼µÄ¡£ÄÇô£¬ÕâЩÊý¾ÝÕâЩµ÷ÓÃÔõôµÃÀ´£¿µÈןǫ́¿ª·¢ÈËÔ±Íê³ÉÁËÖ®ºóÔÙ×ö£¿ÕâÎÞÒÉÊǺܲ»¾¼ÃµÄ¡£
ËùÒÔÎÒÃdzéÏóÁËÒ»¸öServiceInterface£¬Ç°Ì¨ºÍºǫ́¿ª·¢ÈËÔ±¿ÉÒÔÏÈÈ·Á¢Ò»ÏµÁеĽӿڣ¬È»ºó¸÷×ÔÈ¥Íê³É×Ô¼ºµÄʵÏÖ¡£ÓÚÊǾÍÓÐÁË£º
- UIDevService£ºÇ°Ì¨¿ª·¢ÈËÔ±µÄ¡°Ä£Ä⡱ʵÏÖ£¬¿´Ô´´úÂë¾Í¿ÉÒÔ·¢ÏÖ£¬ÀïÃæÊÇһЩ·Ç³£¼òµ¥´Ö±©µÄÂß¼¡£±ÈÈçÐèÒªÒ»¸öViewModel¶ÔÏ󣬾ÍÖ±½Ó¸ønewÒ»¸ö¾Í¿ÉÒÔÁË¡£
- 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»¶ÏµÄÔÚ³¶ÎҵĺóÍÈ¡£ÎÒ¾ÍÓô«Í³µÄ°ì·¨£¬ ÍϿؼþÔöɾ¸Ä²éÊý¾Ý¿âÓÖÔõôÀ²£¿²»ÊÇÒ»ÑùÄÜÓã¿¶øÇÒ˵²»¶¨Ôç¾Í¿ª·¢ÍêÁË£¡¡¡
µ«Ò»´ÎÓÖÒ»´Î½â¾öÎÊÌâµÄϲÔã¬Ò»²»Ð¡ÐÄ¿úÊÓµ½ÁíÒ»¸öÊÀ½çµÄ¾ªÆæ£¬ÈÃÎÒÓû°Õ²»ÄÜ¡£Õâ¿ÉÄܾÍÊǼ¼Êõ·£¬ÈËÉú·£¬´óµÖÒ²Èç´Ë°É£¿
|