MVC小型商务网站实例(2)--项目架构
本項(xiàng)目是用Asp.net MVC 2 + Castle + Entity Framework開發(fā)。
下面介紹項(xiàng)目結(jié)構(gòu):
首先是整個(gè)解決方案在上文一經(jīng)有所介紹我就不多廢話了。
?
1.?????? 數(shù)據(jù)庫(kù):這里采用Sqlserver2008
2.?????? 緩存設(shè)計(jì):為了減輕數(shù)據(jù)庫(kù)的壓力,把頁(yè)面上短期內(nèi)不太變化的數(shù)據(jù)進(jìn)行緩存,從而減少對(duì)后臺(tái)數(shù)據(jù)庫(kù)的訪問。這采用的是Microsoft企業(yè)類庫(kù)中的Cache模塊。
3.?????? MVC框架設(shè)計(jì):MVC是Web應(yīng)用前端的重要架構(gòu)組成,網(wǎng)站交互的絕大部分內(nèi)容將集中在這個(gè)部分,一套高效而易于擴(kuò)展和使用的MVC框架是整個(gè)網(wǎng)站中重要組成。
數(shù)據(jù)實(shí)體是entity framework生成數(shù)據(jù)實(shí)體:
?
表比較多,還有我不喜歡關(guān)系型數(shù)據(jù)操作(查詢方便維護(hù)麻煩),所以沒有創(chuàng)建表的數(shù)據(jù)關(guān)聯(lián),看起來有點(diǎn)亂。
數(shù)據(jù)訪問這里采用的是Repository模式,現(xiàn)在大多的MVC項(xiàng)目都采用這種方式(如Oxite、 KiGG等)。這里就不多說,我會(huì)在接下來的一篇中介紹。
4.?????? SEO(Search Engine Optimize)方案:面向搜索引擎提供網(wǎng)站搜索優(yōu)化方案。
這里主要是頁(yè)面的關(guān)鍵字和描述處理。
?? 先定義一個(gè) abstract 的 Controller的基類,該基類中定義了一些網(wǎng)站 SEO 所需的字段:
public abstract class BaseController : Controller, ISiteProvidesBaseService{
//
// GET: /Base/
private IBaseControllerService _baseControllerService;
#region ISiteProvidesBaseService 成員
public IBaseControllerService BaseControllerService
{
get
{
return this._baseControllerService;
}
set
{
_baseControllerService = value;
ViewData["Page_Title"] = _baseControllerService.ShopName;
ViewData["Page_Description"] = "\"{0}\"".With(_baseControllerService.PageDescription);
}
}
#endregion
public string Message { set { ViewData["Page_Message"] = value; } }
public string Title { set { ViewData["Page_Title"] = value; } }
public string Keywords { set { ViewData["Page_Keywords"] = value; } }
public string Description { set { ViewData["Page_Description"] = value; }}
public virtual void WithTitle(string value)
{
ViewData["Page_Title"] = "{0} - {1}".With(ViewData["Page_Title"], value);
}
public virtual void WithDescription(string value)
{
ViewData["Page_Description"] = "{0} - {1}".With(ViewData["Page_Description"], value);
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/yeaszi/archive/2011/03/18/1987873.html
總結(jié)
以上是生活随笔為你收集整理的MVC小型商务网站实例(2)--项目架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五大HR所不认同的跳槽理由(转)
- 下一篇: Visual C++ 2011-5-27