MVC小型商务网站实例(2)--项目架构
本項目是用Asp.net MVC 2 + Castle + Entity Framework開發。
下面介紹項目結構:
首先是整個解決方案在上文一經有所介紹我就不多廢話了。
?
1.?????? 數據庫:這里采用Sqlserver2008
2.?????? 緩存設計:為了減輕數據庫的壓力,把頁面上短期內不太變化的數據進行緩存,從而減少對后臺數據庫的訪問。這采用的是Microsoft企業類庫中的Cache模塊。
3.?????? MVC框架設計:MVC是Web應用前端的重要架構組成,網站交互的絕大部分內容將集中在這個部分,一套高效而易于擴展和使用的MVC框架是整個網站中重要組成。
數據實體是entity framework生成數據實體:
?
表比較多,還有我不喜歡關系型數據操作(查詢方便維護麻煩),所以沒有創建表的數據關聯,看起來有點亂。
數據訪問這里采用的是Repository模式,現在大多的MVC項目都采用這種方式(如Oxite、 KiGG等)。這里就不多說,我會在接下來的一篇中介紹。
4.?????? SEO(Search Engine Optimize)方案:面向搜索引擎提供網站搜索優化方案。
這里主要是頁面的關鍵字和描述處理。
?? 先定義一個 abstract 的 Controller的基類,該基類中定義了一些網站 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);
}
}
轉載于:https://www.cnblogs.com/yeaszi/archive/2011/03/18/1987873.html
總結
以上是生活随笔為你收集整理的MVC小型商务网站实例(2)--项目架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五大HR所不认同的跳槽理由(转)
- 下一篇: 云计算简介+云计算建站平台