title: .net, C# Interface between Business Logic and DAL
body: <p>I'm working on a small application from scratch and using it to try to teach myself architecture and design concepts.  It's a .NET 3.5, WPF application, and I'm using Sql Compact Edition as my data store.</p>
  
  <p>I'm working on the business logic layer, and have just now begun to write the DAL.  I'm just using SqlCeComamnds to send over simple queries and SqlCeResultSet to get at the results.  I'm starting to design my Insert and Update methods, and here's the issue - I don't know the best way to get the necessary data from the BLL into the DAL.  Do I pass in a generic collection? Do I have a massive parameter list with all the data for the database? Do I simply pass in the actual business object (thus tying my DAL to the conrete stuff in the BLL?).</p>
  
  <p>I thought about using interfaces - simply passing IBusinessObjectA into the DAL, which provides the simplicity I'm looking for without tying me TOO tightly to current implementations.  What do you guys think?</p>