2012-05-20 47 views
-1

我對編程相當陌生,近幾個月來一直關注Java。我想用Java applet前端編寫一個應用程序,該應用程序將捕獲有關我的用戶的信息,並允許他們組織體育賽事。這似乎很適合面向對象的方法(例如,每個用戶是一個對象,每個事件是一個對象,每個教練都是一個對象等)。在基於java客戶端的客戶端/服務器設置的後端使用的最佳體系結構是什麼?

然而,我的用戶都將需要訪問和修改存儲爲對象的數據。似乎需要某種數據庫,但我只有真正的RDBMS經驗,並且我無法看到如何映射到基於對象的前端。我只能使用PHP驅動的HTTP調用,但這意味着將對象轉換爲表格,這感覺就像是離開了純粹的面向對象的方法 - 我真的很努力不去陷入程序化的思維方式,這更多的是我的背景。

我隱約知道JSON和NoSQL數據庫的,但還不夠了解它們是否解決我的問題。因此,鑑於所有這些,我非常感謝任何有關保持OO的最佳方式的觀點,同時還有一個允許共享訪問應用程序數據的客戶端/服務器模型。我確信有一個簡單的解決方案 - 我只是努力尋找它!

任何提示/想法?

+0

你可以做在PHP空中接力太:http://php.net/manual/en/language.oop5.basic。php –

+0

感謝Luiggi這是一個想法,但它沒有解決如何將對象從前端傳輸到後端,以及如何存儲並隨後在一些描述的數據庫中引用它們的問題... – Tom

回答

1

首先,你似乎認爲OO和RDBMS」不能是一個很好的匹配。如果您正確設置模式,它們可以很好地匹配。在這裏只有很少的信息可以繼續,但是通常單個java類到單個db-table可能是一個好的開始。這是RDBMS部分的Java。

從您的應用程序服務器通信以客戶端無關,與這部分(我說,因爲你似乎在暗示它?)

話雖如此,NOSQL可以是一個好辦法具有較少限制的模式和(你就在這裏)經常更直觀地映射到對象,就像你在oo世界中想象的那樣。至於建議,我使用的是MongoDB,這很好。此時,JSON即將成爲與MongoDB進行通信的數據格式。

所有這些技術如果你剛開始時可能會變得不堪重負,所以不是我建議你選擇A或B,也許最好是簽出一些良好的Java Web框架,從持久性實現中抽象出來,以便你可以將它們交換出來沒有太多問題? (比如MySQL的MongoDB的,等等)

我強烈推薦播放框架(http://www.playframework.org/),它可以讓你快速而直觀地去漂亮。沿着這些例子(他們一步一步博客一個博客,包括持久性等),並很好地介紹了這些概念。

也許以後你可以檢查出的插件使用MongoDB的,而不是默認的RDBMS附帶Pplay 1,看你喜歡什麼。

H個, 吉爾特 - 揚

+0

感謝Geert-Jan,這是一個很好的幫助!我是否要使用Java Applet <-> PHP <-> MySQL路由與你建議的類和表之間的一對一映射,我認爲我需要序列化對象(使用JSON?)以便在它們之間傳遞數據庫和小程序? – Tom

+0

好的我部分誤讀了你的問題。你正在談論一個Java小應用程序(的確是一種客戶端技術,儘管實際上不再那麼常見......)我錯誤地認爲你的意圖是在java中有一個web框架(服務器端)。恐怕我從來沒有開發過Java applet,但通信技術將是相同的:使用在正文中序列化的用戶數據從Java applet到PHP執行Http-post。事實上,Json是一個很好的選擇。 ...只是好奇,爲什麼你想開發一個Java小程序?也許有更好的方法去做吧 –

+0

非常好,謝謝你的確認! – Tom

1

首先是對你的要求清楚,然後嘗試確定哪些技術適合您的需求。您可以查看每個數據存儲(MySQL,PostgreSQL等)的功能,並查看哪一個符合您的要求。接下來查看JDBC以查詢/處理數據庫中的數據。

+0

謝謝,我認爲我的要求相當清楚 - 我堅持技術的決心位 - 因此問題:) – Tom

+0

公平足夠!您可以先查看JSP/Servlet,然後查看JDBC,並讓我們知道您是否遇到任何問題。 –

+0

太棒了,我會讀一讀,謝謝你的建議! – Tom

相關問題