MVC小型商務網站執行個體(2)–項目架構

來源:互聯網
上載者:User

本項目是用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);
}
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.