前面八天我從Git的基本概念開始,實際建立了Repository,學會了 .gitignore、git add、git commit 和 git log。目前為止我已經讓Git開始管理我的 eyes_prj 專案。
但Git開始管理之後,我的專案似乎還沒變得有條理。是因為Git可以幫我管理檔案的版本,但如果我專案本身的檔案結構很亂,Git也不會自動幫我整理。
所以今天就要從認識我的專案結構開始!
首先輸入:
tree /F
來查看我專案的真實結構
那麼大致上可以分成這幾類,也簡略的標示一下他們的工作:
eyes_prj/
├── .gitignore
├── eyes_prj.csproj (Visual Studio 專案設定)
├── Global.asax
├── Web.config
│
├── App_Data/ (應用程式資料)
├── App_Start/ (應用程式啟動相關設定)
├── Content/ (CSS、樣式)
├── Controllers/ (MVC Controller)
├── Models/ (Model、資料結構)
├── Properties/ (專案相關設定)
├── Scripts/ (JavaScript 等前端腳本)
├── Views/ (網頁畫面)
│
├── .vs/
├── bin/
└── obj/
其中 .vs/ bin/ 和 obj/是前幾天已經介紹過的資料夾,它們主要是開發工具或建置過程產生的檔案,也已經透過 .gitignore 排除不會被Git追蹤了。
看到這個結構之後我才發現原來我的專案其實已經有一定的架構了,只是以前在做作業的時候我並沒有特別去理解每個資料夾是在做什麼的,所以我就要從這些資料夾開始一個一個認識我eyes_prj裡的資料夾。
那麼我的這個 eyes_prj是ASP.NET MVC專案,所以可以看到 Controllers、Models 和 Views 這幾個主要資料夾:
主要負責處理使用者的請求,並決定接下來要執行什麼。
Controllers/
└── HomeController.cs
那麼HomeController.cs就是負責處理Home相關的請求
主要放和資料以及資料結構有關的程式。
Models/
├── eyesModel.Context.cs
├── eyesModel.cs
├── eyesModel.edmx
├── Patients.cs
├── PreOpOrders.cs
└── PatientOrderViewModel.cs
我的專案裡有 Patients.cs、PreOpOrders.cs等檔案,可以看出它們分別和病人、術前醫囑等資料有關。
還可以看到eyesModel.edmx這個檔案和專案的資料庫模型有關。
負責網頁畫面的呈現。
Views/
├── Home/
│ ├── About.cshtml
│ ├── Contact.cshtml
│ ├── Create.cshtml
│ ├── Delete.cshtml
│ ├── Details.cshtml
│ ├── Edit.cshtml
│ └── Index.cshtml
│
└── Shared/
├── Error.cshtml
└── _Layout.cshtml
這裡有很多 .cshtml的檔案,就是網站不同頁面的畫面。
那麼Shared/裡的:
_Layout.cshtml 是共用的頁面版型,像導覽列、介面基本架構那些。
Error.cshtml 是共用的錯誤頁面,當網站發生錯誤時用來顯示錯誤訊息。
看完之後發現我的專案其實並不是需要整個打掉重新整理的,他還是有一個清楚的ASP.NET MVC 的基本架構。
但哪些檔案是專案真正需要的?哪些是 Visual Studio 或建置過程產生的?哪些應該放進 Git?有沒有重複的檔案?
明天我們就是要來想檢查這些問題喔!