iT邦幫忙

DAY 14
3

從零開始開發Web應用程式系列 第 14

Web應用程式開發-設計模式

經過了前幾篇的介紹基礎,在正式開始撰寫程式前,要注意的最一個項目是設計模式,就是整個程式的撰寫架構,而不是沒有任何的分割或模組化,將程式一行一行往下寫,就像寫文章一樣,當然或許最後文章還是能寫好,但就是一篇差勁的文章,寫程式和寫文章不一樣,不是從頭開始一直寫..

開發程式之前要由有經驗的資深程式設計師或系統設計師,進行開發架構的規劃,不是拿到規格就一行一行往下寫,重複的部分也沒抽離,UI BLL DAL也沒切割,就一個頁面檔,從頭寫到尾,下一個頁面要開工了,就把原來的程式碼複製,然後開始改,這些都是沒有經過系統設計的方式,資料存取層 甚至分別有實體檔案的存取 資料庫的存取 WEB WERVICE的存取 WCF的存取,這些存取的部分是要抽離出來的,就是有關資料的部分是和商業邏輯還有頁面UI是分開的
而商業邏輯層也是分離的 如此當同一個系統需要客製化時 分別修改UI 和不同的商業邏輯處即可.
而若是將所有的東西都放在同一個程式碼檔案,包含UI、CSS、JS、WCF、C#、HTML、資料庫存取、商業邏輯運算...這樣的方式若是要修改UI 又怕動到其他部分,非常不好修改.

而後來也約略知道 為什麼有些開發人員 不喜歡ASP.NET的開發方式
當然最主要的一點是已經習慣了以往的開發方式 沒那麼多心力再去學習新的模式
另一種則是 不習慣物件導向的設計方式 這和以往才是最大的差異 而不是VB.NET比較項ASP
C#比較像JAVA...所以由那兩個開發領域轉戰.NET的人,會分別選擇和以往熟悉度較相似的語法和語言
但其實真正的無法是應 不在語法 而是物件導向的開發方式..無法適應那些 繼承 封裝 多型 建構子 介面 類別...一大堆被認為不需要存在的東西
甚至覺的程式碼就是按照要做出來的需求...一行一行往下寫就好了 何必有那麼多繁文縟節 當然這是沒有實際放下過去的思維 所以抗拒另一種作法,那些物件導向的特性 在實際建構開發的架構時,是不可或缺的,甚至能將程式模組化 便於維護 便於分工 甚至於責任的釐清
若是頁面美工的問題 就交由美工去處理 頁面程式交由寫頁面呈現層的人去處理..而商業邏輯和資料存取層則分別由對應的人員處理. 不會一個問題發生 索有的人都在推責任 因為責任也不清..

物件導向已經是開發程式碼時 最基本的要件了 而.NET除了程式碼和JAVA很相似外,他甚至將頁面的HTML標籤都物件化,即所謂的伺服器控制項,每一個TAG都是一個物件,而物件必然有屬性和方法,可以說是徹底的物件化去開發程式碼,當然基本的重複的的那些程式碼 都由開發工具處理掉,也能讓開發人員 更專注於 將心思投入在真正一個系統要被重視的部分上 就是商業邏輯和資料的存取,包含安全性和效能,那才是一個系統的核心,而不是按照過往將所有的東西不分UI 資料存取 或是邏輯運算 一股腦的全部一個頁面檔全部寫完,裡面夾雜著五花八門什麼都有..若是一直都在用那種方式開發 是永遠都不會進步的 也無法真正去實作大型的系統架構的.


上一篇
Web應用程式開發-ASP.NET Web.config
下一篇
Web應用程式開發-Web Service
系列文
從零開始開發Web應用程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言