如何编写对象与对象列表之间的关系
问题描述:
我是新来的面向对象编程和学习设计类。如何编写对象与对象列表之间的关系
我在想如何设计一个拥有自身列表的类。
例如,我有一个名为Game类将如下定义:
游戏
- 标题
- 描述
- 截图
- 闪光灯(拥有Flash游戏对象)
我想要d isplay在页面上的游戏列表。什么方法对它有好处? 要么创建另一个类GameList并创建一个游戏列表或 创建一个函数Game.ListAll来显示游戏列表?
我觉得前者是更好的做法。我需要你的指导。 另外我不知道该怎么去实际学习,以清除我的概念,设计课堂和他们的关系等。 你能给我推荐一本易于理解的CBT书吗?
非常感谢。
-Navi
答
我不知道是什么languague您正在使用,但我可以推荐“敏捷坚持的原则,花形与实践”,从罗伯特·马丁(有一个C#版本太多)。这里还有很多关于OO设计的知识,以及所有重要的模式和TDD和敏捷的一个很好的介绍 - 阅读起来很有趣。
你的问题:是去为你的第一个想法或使用inbuild收集像List<Game>
(应该是相同的,不管你正在使用C#或java的)
答
我认为这将是一个糟糕的设计有游戏中的(静态)方法listAll()
:游戏不应该知道其他游戏,您需要构造函数或工厂方法来处理列表,并且无法处理单独的列表。
因此,使用游戏以外的列表。如果您不需要GameList的特殊行为,那么您在列表中处理列表的字段列表将会执行。如果你有特殊的行为,你使用GameList的设计是正确的选择。
为了获得良好的面向对象的设计,我会以下顺序读了:
- 从object mentors article list的相关条款得到一个概述。您可以在principles of ood找到与您最相关的链接。
- 一本关于设计模式,我最喜欢的仍然古典Design Patterns from the GoF
- 阅读Agile Software Development, Principles, Patterns, and Practices from Uncle Bob