Search code examples
javac#asp.net-mvcdesign-patternsbusiness-logic

Should i pass a parameter to the class constructor or every method that requires it


I have a class that looks like the following

public class OrderBL
{
   private _loggedInUserId;

   public OrderBL(int loggedInUserId) {
      _loggedInUserId = loggedInUserId;
   }

  public Order GetOrder()
  {
     //use logged in user id here
  }

  public List<Order> GetOrderList()
  {
     //use logged in user id here
  }

  public void DeleteOrder()
  {
     //use logged in user id here
  }

  public void SaveOrder(Order myOrder)
  {
     //DON'T use logged in user id here
  }
}

Should i be passing the logged in user id to every method or pass it in once to the constructor like i have done?

Most methods in my class require the logged in user id but not all.


Solution

  • _loggedInUserId is a private member of you class so it can be reached for every method in your class without having to pass it via parameter.