I'm posting this here since I'm currently learning C#, but this is more of an OOP question.

The program I'm writing will calculate the parallel resistance of two resistors. The user enters a target resistance and percent error, then the program runs through a database of existing resistors, calculates the equivalent resistance of all pairs, and any that fall within the percent error are added to a list. The list is then printed to the user.

I will have a class Parallel that will perform the calculations and store the resistor-pairs that are valid.

I'm not sure who should be responsible for adding the resistors to the list. I see two options:

1. The caller adds the resistors: The caller will call a Test() method in Parallel, and if it return success, the caller will then call an Add() method in Parallel.

2. Parallel adds the resistors: The caller will simply send all resistor-pairs to Parallel, and Parallel will perform the calculations, determine if they are valid, and add them to the list itself.

Any thoughts/explanations on which option is better?