2012-03-19 59 views
0

我正在開發一個web應用程序,我不確定應該使用哪種模式設計。儘管對MVC目前的趨勢,這是爲應用程序,與很多車型,CRUD操作,等我們的應用有不同的實習生結構涉及一個不錯的選擇:無模型網絡應用程序的設計模式

我們做的是:

  1. 允許用戶上傳數據文件並將其重定向到其他頁面。
  2. 該頁面將填充有關該數據文件的一些信息。
  3. 用戶必須選擇一些參數,然後單擊一個按鈕。
  4. 根據按鈕,將執行一些操作,結果可能是一個數字或另一個要下載的文件。

正如您所看到的,我擁有的唯一模型是將擁有「會話」的用戶。我在我的數據庫中唯一的表格是'用戶'表。應用程序的所有其他可用性都在會話期間執行,並且沒有數據被保存。

有沒有符合我需求的設計模式?我正在使用Java!

謝謝!

+0

你說沒有數據是持久的,但文件上傳和下載,文件是持久的數據,他們不是?此外,你是否打算將所有的邏輯硬編碼?或者你想讓它成爲數據驅動?除CRUD操作外,模型還有更多內容,看起來您的整個數據集都是面向模型的。 – 2012-03-19 14:19:57

+0

數據不是持久的,因爲它是暫時的。它被附加到會話中,一旦會話被銷燬,臨時目錄也被銷燬。 當你說邏輯'硬編碼'或'數據驅動'時,我不清楚。你能多說一點嗎? 我說我相信MVC並不是我最喜歡的設計模式,因爲它只有一個(或兩個,如果數據文件是一個)模型,它只有兩個視圖(窗體和一個顯示參數),因此只需一個控制器。我聽說過模板模式,頁面模式,但我不熟悉它們。 – 2012-03-19 14:26:37

+0

我沒有理由爲什麼不選擇MVC,除了個人喜好當然。 MVC並不侷限於多個模型或更有利於多個模型。而且數據是否持久也不重要。 – Creynders 2012-03-19 15:12:58

回答

0

在應用程序中重要的不是使用的設計模式,而是正確尋址separation of concerns

MVC就是這方面的一個例子。它允許您從應用程序數據的呈現(視圖)中分離應用程序數據及其隨附的所有邏輯(模型)。用戶與View的交互由Controller負責協調,Controller也將這些交互轉換爲由Model執行的操作。

很多應用都適合這種行爲,所以MVC是他們的明智選擇。如果你認爲MVC是過度殺傷,那麼可以去簡化它,如Model Delegate(有時也稱爲模型/視圖模式)。但是,這種模式並不重要;重要的是將應用程序中的責任分開。

在你的評論中你提到你的應用程序已經是MVC了,所以我會放棄它。我看不出這是多麼的多餘,隨着你的應用程序的增長(我相信它會),你會很高興它從一開始就是這樣設計的。