2012年10月28日 星期日

ASP.NET MVC 專案分層架構 Part.2 抽出 Repository 裡相同的部份

2014-12-02 補充說明:
這一系列的文章並不適合初階及中階的開發人員,如果你是程式開發的初學者或是 ASP.NET MVC 初學者,甚至是開發經驗少於兩年的開發人員,請馬上離開此篇文章。

經過「ASP.NET MVC 專案分層架構 Part.1 初學者的起手式」這一篇之後,雖不能說對於分層架構有很詳細的理解,但至少對於分層架構有了初步的概念與想法,上一篇我們已經做到了把各個 Model 的資料存取抽離出來並另外建立個別的 Repository,而這也只是剛開始而已,上一篇文章有人反應篇幅過長,以致無法耗費太多時間將整篇文章看完,所以這一篇就不再長篇大論,只專注於一個主題上,接下來要說的是把個別 Repository 中相同的部份給抽離出來,讓我們關注於這一點吧!

 


2012年10月22日 星期一

ASP.NET MVC 專案分層架構 Part.1 初學者的起手式

2014-12-02 補充說明:
雖然標題包含「初學者」但不表示這是給連 ASP.NET MVC 初學者甚至是程式初學者所看的,對象為已經具有一定程式開發基礎但是對於簡單的分層架構不太瞭解以及沒有概念的開發人員。

上星期(10/13 六)是 twMVC 第五場研討「活動宣傳 - 2012-10-13 twMVC 第五次研討會 … 雲端、專案系統架構」,上半場的主題是由 Bibby 所帶來的「ASP.NET MVC 之實戰架構探討」,有關於專案架構的資訊是每一次 twMVC 研討會後問卷上一定會有人提到想要聽的主題,所以這一次就由 Bibby 來說明,Bibby 在這一場的內容包含了專案架構相關的內容,而會後的問卷結果看來,大家的接受度都相當地高,不過也有些朋友反應說要看一點實作面的內容。

分層開發架構並不是 ASP.NET MVC 獨有的,任何的專案開發不管使用什麼樣的技術都應該要做好專案架構的分層,不管是同一個專案中的分層處理或是不同職責方法的獨立專案分層架構,專案分層架構其目的就是為了要職責確立、關注點分離,讓不同的方法或類別去做該做的事情而且只專注於這些方法、類別的職責上。

接下來的幾篇文章將會以初學者對象,將大雜匯式的專案開發內容逐步的改變,讓專案改為分層架構,所以對於進階開發人員,或是已經會分層架構的朋友就可以跳過這幾篇文章。

而我這邊所講述的分層架構方法也不是絕對或標準、唯一的方法,每個人、每個團隊對於程式的寫法、架構的區分都個有不同,對於架構的見解與實作的方式也有不同,所以我所說明的內容也只是將我的部份見解給寫出來,就如同標題一樣,對象是「初學者」。


2012年10月7日 星期日

ASP.NET MVC 資料分頁與 Route - Part.3


上一篇「ASP.NET MVC 資料分頁與 Route - Part.2」說明如何使用產品分類編號以及 Route 設定讓 URL 格式可以有比較好的 SEO,不過必須說的是,修改前與修改後的 URL 格式對於 SEO 其實沒有多大的差別,

修改前:http://localhost:5511/Product/List?category=1&page=2

修改後:http://localhost:5511/Product/Category/1/Page/2

因為我們使用的產品分類的參數值是用「CategoryID」,這並沒有明確的給「Category」有特別的意義,CategoryID 只是用數字組成的編號,對於產品資料的搜尋上並沒有多大的幫助,如果將 URL 中的 Category 使用 CategoryName 來取代的話,在 SEO 就會有比較好的效果,

ex:http://localhost:5511/Product/Beverages/2

在這一篇的內容當中將會逐一介紹。

 


2012年10月5日 星期五

ASP.NET MVC 資料分頁與 Route - Part.2


前一篇「ASP.NET MVC 資料分頁與 Route - Part.1」說明了資料分頁的 Route 設定方式,然而資料分頁並不會這麼單純地只有把全部資料拿出來做分頁,最常遇到的情況就是產品資料依據分類來做顯示,而且還要可以分頁,這一次就是要來說明產品資料依據分類來做顯示並且資料分頁的情況下如何做 Route 設定。

 


2012年10月4日 星期四

ASP.NET MVC 資料分頁與 Route - Part.1


用 ASP.NET MVC 所開發的網站與 ASP.NET Web Forms 網站有一個比較名顯的不同的就是「網址」,ASP.NET MVC 不像 Web Forms 網站專案,是由一個一個的 ASPX 檔案所構成的,任何的 Request 都是需要透過 Route,然後再到 Controller 的 Action 進行處理,所以 ASP.NET MVC 的網站不像 ASP.NET Web Forms 網站的網址那樣會需要有個「aspx」的檔案結尾,Web Forms 可以透過例如 Url Rewrite 或是使用 URL Routing ( .NET 4.0 ) 來達到與 ASP.NET MVC 一樣的網址格式,

例如:Easy URL routing in ASP.NET 4.0 web forms

ASP.NET MVC 預設的 Route 設定就已經可以應付絕大部分的狀況,但有時候難免會想要讓 URL 看起來更漂亮一些,或是說讓網站因為 URL 的關係而有比較好的 SEO,總之就是讓 URL 可以更為直覺與方便輸入,接下來簡單敘述 ASP.NET MVC 在分頁功能下的 Route 設定。

 


提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。