在設計模式模型 - 視圖 - 控制器(MVC)中,後端數據庫是模型層的一部分,還是與模型?模型 - 視圖 - 控制器中的後端,Java
此外,可以說MySQL數據庫不是Model的一部分,因爲它與Java代碼分開放置?
在設計模式模型 - 視圖 - 控制器(MVC)中,後端數據庫是模型層的一部分,還是與模型?模型 - 視圖 - 控制器中的後端,Java
此外,可以說MySQL數據庫不是Model的一部分,因爲它與Java代碼分開放置?
Wikipedia定義模型「代表應用程序的狀態域對象或數據結構。」有了這一點,我們可以看到,雖然數據庫是不是代碼庫的嚴格組成部分,但它仍然代表(保存)使用的數據,因此(至少在某種程度上)是模型的一部分。如果您試圖考慮爲什麼它不會成爲控制器或視圖的一部分(這兩者都應該與模型配合使用,而不是直接使用它們),則更容易看到此問題。
現在,圖片@John Doe發佈,你會發現在oder保存MVC結構,你需要提供一個接口到的數據庫到這個Model。
由於過度簡化的例子,你可以考慮寫這樣的事情:
public ModelDatabaseWrapper implements ModelReadWriteInterface {
public ModelDatabaseWrapper() {
/* Prepares to use database... */
}
public Object getValue(Object someQuery) throws ModelReadException {
/* Get something from it... */
}
public void putData() throws ModelWriteException {
/* Insert something int to it... */
}
private DataBaseHandle db;
}
這只是一個指南,但我會根據如何突出使得通用interface
爲分組模型組件的點他們被訪問。在真實應用程序中,可以有多種形式的數據表示數據的狀態,因此通過保持一個乾淨的API,它可以使控制器和查看更靈活得多。
我希望我能幫上忙! :)
數據庫是持久性,而不是直接的MVC模式的一部分(儘管通常將模型狀態持久化到數據庫)。
看看這些圖片:http://netbeans.org/images_www/articles/69/javaee/ecommerce/design/mvc-diagram.png和http://upload.wikimedia.org/wikipedia/commons/ 3/3E/MVC_Diagram_3.jpg –