2011-09-18 80 views
1

我是新來的面向對象編程和學習設計類。如何編寫對象與對象列表之間的關係

我在想如何設計一個擁有自身列表的類。

例如,我有一個名爲Game類將如下定義:

遊戲

  • 標題
  • 描述
  • 截圖
  • 閃光燈(擁有Flash遊戲對象)

我想要d isplay在頁面上的遊戲列表。什麼方法對它有好處? 要麼創建另一個類GameList並創建一個遊戲列表或 創建一個函數Game.ListAll來顯示遊戲列表?

我覺得前者是更好的做法。我需要你的指導。 另外我不知道該怎麼去實際學習,以清除我的概念,設計課堂和他們的關係等。 你能給我推薦一本易於理解的CBT書嗎?

非常感謝。

-Navi

回答

0

我不知道是什麼languague您正在使用,但我可以推薦「敏捷堅持的原則,花形與實踐」,從羅伯特·馬丁(有一個C#版本太多)。這裏還有很多關於OO設計的知識,以及所有重要的模式和TDD和敏捷的一個很好的介紹 - 閱讀起來很有趣。

你的問題:是去爲你的第一個想法或使用inbuild收集像List<Game>(應該是相同的,不管你正在使用C#或java的)

0

我認爲這將是一個糟糕的設計有遊戲中的(靜態)方法listAll():遊戲不應該知道其他遊戲,您需要構造函數或工廠方法來處理列表,並且無法處理單獨的列表。

因此,使用遊戲以外的列表。如果您不需要GameList的特殊行爲,那麼您在列表中處理列表的字段列表將會執行。如果你有特殊的行爲,你使用GameList的設計是正確的選擇。

爲了獲得良好的面向對象的設計,我會以下順序讀了

  1. object mentors article list的相關條款得到一個概述。您可以在principles of ood找到與您最相關的鏈接。
  2. 一本關於設計模式,我最喜歡的仍然古典Design Patterns from the GoF
  3. 閱讀Agile Software Development, Principles, Patterns, and Practices from Uncle Bob
相關問題