Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I think its important to understand why you want a n-tier architecture. If your most important requirement is simplicity, then splitting out your application into n-tiers is not really needed. </p> <p>However, this choice will result in a downside if you require flexibility. On the other hand, multiple tiers offer flexibility and the cost is the amount of work it takes to build them. </p> <p>As an example of why you would want to have a n-tier architecture, imagine this scenario. You build an application using Entity Framework 4.x. in your Data Access layer. Then EF 5.0 is then launched and you want to upgrade. If your other tiers are completely ignorant of the Data Access technology that you are using (as they should be), you should have very few issues in upgrading the DAL to a different version or database type. I stress the IGNORANT part. Each layer in the application should be IGNORANT of dependencies in other layers which will allow you to build a decoupled pluggable architecture.</p> <p>Its a big topic and if you have interest in learning more, I would suggest looking at Domain Driven Design techniques. Don't just have n-tiers for the sake of it. Data Transfer Objects(DTOs)are the objects that carry data between these self contained layers. That is necessary because a "Person" object in the DAL is not the same object as a "Person" object in the Business Layer. DTO's map between the two objects.</p> <p>Have a look at <a href="http://www.dofactory.com/" rel="nofollow">http://www.dofactory.com/</a>. You will see a simple n-tier MVC application with multiple UIs (winforms, MVC, etc) talking to a self contained Business tier. This should also give you a better understanding of where to put your projects and why they are needed.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload