I'm writing a C# application, I want to follow a 3-tier programming architecture. I've been programming my application based on this article.
I have some questions that I hope someone can help me with:
Where do i put the domain objects (for instance a Person class, where i put the getters and setters and the constructor, and all its properties (age, name,..). Do i put these in the BLL folder or someowhere else?
Should I put all my BLL functions that call functions from my DAL-layer in one controller or seperated among all specific business classes (for instance person, order,..)?
Do I need to create a DAL-object in every BLL function before calling a DAL-function, or do I use a singleton pattern where I only create one DAL-class object at a time?
A screenshot of my classes (Program.cs is the main class):