為什麼我問到幾個用.Net MVC的都把Business Logic寫在Controller裡?Microsoft是這樣教開發人員的嗎?
latest #7
The UI logic belongs in the view. Input logic belongs in the controller. Business logic belongs in the model.
所謂的 business 放到 model 指的是,加速用的固定邏輯! 一般商業邏輯跟輸入的命令不能合在一起寫,controller 大多是處理輸入對照的framework,很多人會在這裡接著做 business無對錯,較好的是要封裝獨立商業邏輯,而不是混合輸入碼放在一起!
可以在framework對照輸入時叫用獨立商業邏輯元件。寫在model時,要換也很麻煩,我在M層會切四層!資料連結層,資料介面層,資料操作層,資料抽像層!商業邏輯會寫在自已的元件內,讓 controller 叫用,叫用時去初始化資料抽像層,讓邏輯元件能自動對照M層而不寫在M層!
要換流程,換資料結構,換儲存資料主機,換商業邏輯都很方便!
back to top