我的問題是我們嘗試使用MVC(PHP)框架。討論了很多後,認爲MVC非常好,但我錯過了編寫可重用模型(應用程序)邏輯的可能性。所以,我不確定我們是否有正確的方法在MVC框架中實現我們的軟件。如何在MVC模型中編寫可重用的業務邏輯?
首先我要介紹一下我們目前使用的非MVC,oo方法。
例如 - 我們正在研究一些瀏覽器遊戲(是的,這是我們的專業)。想象一下我們有一個玩家對象。我們經常使用這個播放器對象。我們有一些可供您購買的不同頁面,因此您需要在玩家「銀行賬戶」上進行「金錢」交易,或者想象您可以對其他玩家進行交易。我們有幾個戰鬥腳本,這些腳本需要2個或更多的玩家對象(這取決於戰鬥類型,即戰隊戰鬥,玩家vs.玩家戰鬥......)。
所以,我們有幾個頁面(和控制器)與不同的戰鬥邏輯。但是每個控制器都使用玩家對象來計算玩家擁有的所有屬性和物品以及玩家將會執行哪些傷害和防禦。
那麼,在MVC模型的情況下,我們如何重用播放器對象中的邏輯?在不同的戰鬥控制器和模型中複製所有必要的邏輯將是不好的。
我認爲「黃金交易」 - 邏輯將是一個很好的例子,給你一些更多的細節信息。在戰鬥中需要交易功能,如果你贏了其他玩家並且掠奪了他的一些黃金,那麼在購買某些東西時你需要交易功能,並且在花費一些黃金時需要交易功能玩家公會...
所以,我會說這將是一個壞方法來定義所有這些功能在一個球員模型!我可以說你們這些玩家模型會很大(其實我們的玩家級別真的很大 - 它是一個神級)
你認爲這個問題有MVC風格的解決方案嗎?