god-object

    8熱度

    6回答

    我有一個對象稱爲參數,從方法降低到方法,並通過包邊界調用樹。它有大約五十個狀態變量。每種方法可能使用一個或兩個變量來控制其輸出。 我認爲這是一個糟糕的主意,因爲我無法輕易地看到一個方法需要什麼功能,甚至如果對於與我當前模塊完全無關的模塊Y的某些參數組合,可能會發生什麼情況。 什麼是減少耦合到這個神物體,或理想地消除它的一些好技術? public void ExporterExcelParFond

    4熱度

    4回答

    一個班級太大,難以操作。在Objective-C中,我很想用類別來打破課程,但是:不是類別只是將一個充滿太多垃圾的房子分隔成多個房間?我猜想同樣的問題適用於C#中的部分類。 在什麼情況下可以使用類別來解決「類太大」的代碼異味?什麼時候它是不正確的,並且該類真的需要"be restructured or broken into smaller classes?"

    2熱度

    1回答

    我現在試圖擺脫我的服務器代碼中的上帝對象。 在我的服務器設計開始時,我決定將World和const容器對象做爲單例。 但我的服務器是多線程的,單身人士沒有很好的解決方案。 所以我管理它,我把這個類作爲Core類實例移動。 例如: class Core { ... private: World world; CExpTable exptable; ... }; Core新連接是給對

    0熱度

    1回答

    昨天當我玩視頻遊戲時,突然問到一個問題,遊戲保存機制如何實現? 大多數情況下,保存需要遊戲的所有數據。在這種情況下,程序員是不是不得不製造一個參考每件遊戲數據的神物? 因爲我想要一個基於軟件設計而不是遊戲開發本身的答案,所以我在SO上發佈這個問題而不是遊戲開發。

    6熱度

    1回答

    我在一個相當大的產品上工作。它一直處於開發階段,因爲.Net 1.0仍然是一個進行中的工作,所以它有很多質量差的代碼,並沒有考慮單元測試。現在我們正在嘗試改進質量併爲每個功能和錯誤修復實施測試。我們現在面臨的最大問題之一是依賴地獄和神物。有一個神對象特別糟糕:Session。基本上,與該程序的當前會話相關的任何內容都在此對象中。還有一些其他的神物。 無論如何,我們已經通過使用Resharper從它

    3熱度

    1回答

    我正在爲我的網站編寫投資組合模塊,它有3個組件。畫廊類別,畫廊,&畫廊圖片。 我正在爲1類Portfolio中的上述3個組件進行所有請求處理(創建,讀取,更新,其他)。 投資組合模塊的數據庫處理作業是在另一個文件中完成的。 我的問題是,即使只是爲了處理請求的目的,你是否可以在1個課程中完成所有操作? -Reddy

    5熱度

    2回答

    我正在設計一個應用程序,允許我在圖形上繪製一些功能。每個功能都將從我將傳遞給此圖形類的一組點中抽取。 有不同種類的點,都從MyPoint類繼承。對於某些類型的問題,它只是將它們打印在屏幕上,其他人可以忽略,其他人可能會被忽略,所以有些類型的邏輯可能會變得複雜。 如何實際繪製圖形並不是這裏的主要問題。令我困擾的是如何製作代碼邏輯,使GraphicMaker類不會成爲所謂的God-Object。 這將

    8熱度

    4回答

    在我的應用程序中,我有一個由主方法啓動的Controller。控制器初始化鉤子,數據庫連接,UI,另一個連接以及其他事物。它擁有程序的大部分狀態(不,它不是Singleton)。在另一個例子中,有一個處理解釋和發送命令的機器人控制器。兩者都是相當大的文件。 我已經閱讀了上帝的對象,但我真的不知道一種方法來分裂它。如果我在機器人中拆分解釋器和調度器,它將會形成一個可怕的調用鏈(類似getBot().

    7熱度

    5回答

    我在一個大的項目有幾大部件的完成階段:圖像採集,圖像處理,數據存儲,工廠I/O(自動化項目)和其他幾個人。 每個組件的合理獨立的,但對於該項目作爲一個整體來看,我需要每個組件的至少一個實例。每個組件還具有用於監視狀態和更改事物的ViewModel和View(WPF)。 我的問題是實例化所有這些對象的最安全,最有效,最可維護的方法,在另一個事件中爲一個事件訂閱一個類,併爲所有這些對象提供一個共同的V

    2熱度

    3回答

    我知道,只有在一個地方纔能使用類對象時,它是糟糕的編程和體系結構。但是我也被警告過要創建一個功能強大且可以做得太多的對象。那麼我該如何解決這個問題呢?這裏是我的意思的一個例子 - 請不要把這些東西當作字面意思,因爲這只是一個例子。 無論如何,我有一個對象,我正在使用這是相當複雜的。很多信息都存儲在這個對象中,它可以對數據執行很多操作。所以,讓我們稱這個對象爲地球。 Public Class Pla