Isn't it 'better coding practice' if the class knows nothing about the interface? I'm trying to write a n-tier demo which I can then use to copy into any new programs I write. I was under the impression that the Business Tier classes should know nothing about the Interface, and the Database Tier classes should know nothing about the Business Tier classes.

Correct me if I'm wrong.