好的,這是我的錯。我從來沒有在學校學過編程,這就是爲什麼我總是以意大利麪代碼結束的原因。我總是對不同的模式感到好奇,至少在基礎層面上試圖理解它們。完全失敗的OOP/MVC
MVC是我最恐懼的事情,我想我永遠無法使用它的優勢,因爲我不明白它的基本原理。
我的實際問題/問題是這樣的:
前端控制器調用它做一些初始化一個「核心」類,然後調用正確的操作/參數的實際控制人。控制器總是擴展'核心'類,所以我可以訪問它的變量等。他們一起工作很好,但這裏出現我真正的問題。
在不同情況下需要某種方法(在大多數情況下獲取數據庫條目)。 (例如,一個產品需要它的製造商)
在這種情況下我有兩個(壞)的選擇:
- 注入所需的方法進入「核心」類,所以它變得越來越臃腫隨着時間的推移
- 注入所需的方法進入實際調用控制器,所以我最終將冗餘的代碼庫
我看到了很多在我的方法可能出現的問題:
-
個
- 控制器總是延伸「核心」類
- 「核心」控制器保存數據庫對象,以便沒有它,我無法訪問我Db的
- 數據庫功能(例如獲得產品)所在的控制器,但我不能訪問他們,因爲他們總是在再次調用「核心」第一(擴大問題)
請告訴我:
哪裏是我的方法的最大問題我可以在哪裏糾正它?
注:
請不要把這個作爲一個一般性的問題,我覺得這是一個回答的事情。如果您需要澄清一下,請提出要求,我會盡量減輕一些事情。
感謝您的寶貴時間,FABRIK
擴展一個「核心」類聽起來像史詩般的失敗。 :)而不是將數據庫注入控制器。此外,您只需要一個控制器,而不是前端控制器和「實際控制器」。 – bzlm 2010-09-02 12:19:01
@bzlm:我在你的評論中看到了一點,但我沒有看到正確的道路。 '核心'是爲了容納許多常用的重要方法/變量而創建的。如果不在裏面,我可以在哪裏握住它們?前端控制器在做它的工作時很好地調用它(調度器等),這很重要。 – fabrik 2010-09-02 12:32:56
看到這個答案及其評論http://stackoverflow.com/questions/3626955/totally-failed-in-oop-mvc/3627102#3627102 – bzlm 2010-09-02 12:55:42