如何编写对象与对象列表之间的关系

问题描述:

我是新来的面向对象编程和学习设计类。如何编写对象与对象列表之间的关系

我在想如何设计一个拥有自身列表的类。

例如,我有一个名为Game类将如下定义:

游戏

  • 标题
  • 描述
  • 截图
  • 闪光灯(拥有Flash游戏对象)

我想要d isplay在页面上的游戏列表。什么方法对它有好处? 要么创建另一个类GameList并创建一个游戏列表或 创建一个函数Game.ListAll来显示游戏列表?

我觉得前者是更好的做法。我需要你的指导。 另外我不知道该怎么去实际学习,以清除我的概念,设计课堂和他们的关系等。 你能给我推荐一本易于理解的CBT书吗?

非常感谢。

-Navi

我不知道是什么languague您正在使用,但我可以推荐“敏捷坚持的原则,花形与实践”,从罗伯特·马丁(有一个C#版本太多)。这里还有很多关于OO设计的知识,以及所有重要的模式和TDD和敏捷的一个很好的介绍 - 阅读起来很有趣。

你的问题:是去为你的第一个想法或使用inbuild收集像List<Game>(应该是相同的,不管你正在使用C#或java的)

我认为这将是一个糟糕的设计有游戏中的(静态)方法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