Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Basically, I'm trying to understand why layered and tiered are that different, and why they don't translate easily to each other.

I understand that layered could be 3 separate class files for UI, BL and DAL. Whereas tiered can be a Project for the UI, which links to a BL project which links to a DAL like entity framework, and then a database. So why are/aren't they easily translatable?

Hope that makes sense, Thanks.

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

Both concepts introduce a separation of concerns. But for layers, seperation of concerns is usually the main goal. Tiers are used for scalability and load distribution/allocation purposes, and separation of concerns is more a side effect there.

That also explains why the concepts are not easily translatable. In a layered architecture, a feature is usually implemented in the layer where it fits best semantically, and you try to avoid redundancy between layers. In tiers, you implement a feature where you have the computing ressources for it. Redundancy between tiers is common (e.g. replicate some business logic in the UI tier, but in the business logic layer, the check runs only once when data is saved, in the UI layer the check runs after each user input).

share|improve this answer
    
Thanks man, appreciate it. –  Rhys Drury May 18 '13 at 20:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.