Re: [問題] MVC程式架構

看板java作者 (Alien)時間12年前 (2013/09/02 00:02), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串2/6 (看更多)
※ 引述《cyclone350 (老子我最神)》之銘言: [43] : 問題來了,我待過的每一個Web專案理,都會在Action 跟 Dao 中間夾帶一層 Service : 或是 manager... : 而規定幾乎是 "一個Action對應一個manager" : 而 manager 所做的事,就像是把Action 的 private method 移到 manager 變成 : public method ... : 我完全找不到理由可以說明為啥要特地開一個 manager, manager的工作事項模糊不清 : 一個寫在 manager 的 public method 完全可以改到自身 : Action class 的 private method : 而實際情況是,在寫method時,有些程式設計師會寫到 Action ,有些會寫到 Manager : 這完全沒有意義,假設有 10 個 method,兩位程式設計師可能寫完全不一樣 : 例如 : 程式設計師A: 1,2,4,5,6 寫到 Action, 3,7,8,9,10寫到 Manager : 程式設計師B: 2,6,7,5,8,10 寫到Action, 1,3,4,9寫到 Manager : 我所遇到的專案就是如此,有沒有人能夠解釋 Service 或 Manager 的必要,以及它們 : 真正存在的意義在哪裡? : 苦惱很久了 : 謝謝大家看完 先說一下,我個人是沒啥 Web app 開發經驗的, 以前做的 project 都只是 server side 的 application, 讓 Rich client 經各類 protocol 連進來 (CORBA/SOAP/RestFul WS etc). 不過就算這類 application,還是常會看到你所說的問題。我自己對那 些模糊不清的 XXXManager/ XXXService 也是很感冒。 我自己的手段是稍為不一樣。 詳細有點難解說,建議你去找一下 Domain Driven Design 的資料。 簡單來說,在 DDD 的世界,business logic 主要就存在於 Domain Layer (通常來說就是 Entity),和平常你所見的單純只當 Data object 的 Domain Entity (即是所謂 Anemic Model) 很不一樣。 雖然在 DDD 中還是會常見所謂 Service,但一般來說只是 Application Service,絕大部份的 business logic 還是會放在 Domain Layer。 當然,DDD 並不是所有類型的 application 都合用(比如主要是各類 Report 的 app 就不太合用了),不過還是建議你去看看,當是學習另 一種思維也好。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.19.45.228

09/02 12:56, , 1F
我理解沒錯的話,DDD就是swpoker所描述的!?
09/02 12:56, 1F

09/02 16:31, , 2F
? DDD = Data Driven Design
09/02 16:31, 2F

09/02 21:10, , 3F
DDD = Domain Driven Design
09/02 21:10, 3F

09/02 21:11, , 4F
另,swpoker 該篇描述的並非DDD, 甚至可說相去甚遠
09/02 21:11, 4F

09/03 11:43, , 5F
我說的DFD是早期的開發方法論~我有寫過COBOL喔
09/03 11:43, 5F

09/03 23:26, , 6F
我知道,我只是回應 cyclone說你所描述的並非DDD而已。
09/03 23:26, 6F

09/03 23:27, , 7F
我也有在 AS400 寫過 RPG...
09/03 23:27, 7F
文章代碼(AID): #1I8sKmSR (java)
文章代碼(AID): #1I8sKmSR (java)