well, usually in advance software design we use laying to apart software tasks where application works independently in layers. It's contains of min 2-N layers (Microsoft has 4)
but usually 3 as u mentioned.
1.
UI = User Interface
2.
BL = Business Layer or Logic
3.
DA = Data Access
let me explain u in an instance:
u have a ASP.NET page where users register.
u have some rules like checking if user is able to register according to her/his birthday & ...
1.ur ASPX file is ur
UI where ppl see.
2. u use some classes & functions to check the rules (age story) its a separate project or
at least another file
3. u have a different project who is the only responsible for ur Data part.
its like this:
1- user see the page & enter some data &
PUSH REGISTER BUTTON
2- ur page sends user entered data to
BL & it checks some rule like age, & if it was ok, calls the
DL methods to add data to DB, or if its not ok, doesnt send & may gives a report back to user in
UI ...
3- ur
DA is only doing CRUD operations such as making connection & executing some T-SQL commands.
Its a long story u should go for, not too simple to reply u here, but not as hard as u cant...
HTH
