设计模式:如何确定q / a比赛模式

时间:2014-11-03 02:06:43

标签: java design-patterns

我正在设计一场比赛。在这个游戏中,每个用户都需要回答一个问题列表。

我有两类问题。第一个是多项选择题。这个问题包含一个选择列表,每个选项都是一个字符串。

另一个是搜索问题。这类问题只有一个正确答案,即国家类型。我们将显示地图并让用户找到正确的国家/地区。

public class Country {
    String countryName;
    LatLng ll;
}

这两类问题将混合在一起,并作为列表显示给每个用户。

如果向用户显示的问题是多项选择题,我们将显示一个选项列表并让用户选择; 如果用户看到搜索问题,则他/她需要在地图上搜索相应的国家/地区。

这里有两种类型的答案,字符串和国家。

以下是我的问题:

  1. 我应该为每个问题设计两个类型类,MCQuestion和SearchingQuestion,并让它们扩展相同的抽象类问题吗?
  2. public abstract class Question {
        String questionText;
    
    }
    

    如何设计每种类型的问题。我需要方法来返回正确的答案并检查一个输入是否正确?

    1. 我是否还应为每种答案设计两种类型的答案?

1 个答案:

答案 0 :(得分:-1)

我认为你的整体方法是有道理的。

从一个超类中获取问题很有用,因为这样你就可以将它们存储在Questions[]数组中并随机选择一个。

我不知道你是否需要两种不同的答案类型,因为你的答案基本上由一个字符串组成,无论是{"A","B","C","D"}还是标准国家代码(你可以创建一个转换器来转换一个您的Country个对象中的国家/地区代码。)

获取和设置正确答案等的方法很好,但我们不能告诉你需要什么方法,因为只有你知道游戏会是什么样的。如果您不确定,请使用MVC模式。您的问题类应仅代表模型。