开发者

Using an interface and dependency injection

I have a program that needs to read data from a number of sources. I have several objects, 开发者_StackOverflow社区each containing a list of students and their test scores. I then have another class which must extract all the information from each object.

The problem is that I must operate through an interface. i.e.

public class Total{
      HashMap<String, Integer> results; 
      ScoresInterface si;
      ...
      void addScores(){
         results.putAll( si.getScores());
      }

}

public interface ScoresInterface{
       public HashMap getScores();
}

public class Scores implements ScoresInterface{
     HashMap<String, Integer> results;
     ...
     public HashMap getScores(){
            return results;
      }
}

I hope this code makes sense. The Total class basically needs to access a number of Scores objects and collect all the information.

My question is basically, how can I let the Total class know about all the objects of the scores class? I have thought about adding a function in Total called setSource(ScoresInterface a) and passing each new object of Scores in. However, it seems a bit long winded. What if there are 100 objects.

Thanks for any help


I would pass in a List<ScoresInterface>.

That way you could use the Total class to iterate through and calculate the total.

The type of List implementation (ArrayList, LinkedList etc..) is up to you.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜