Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# ASP.NET Design pattern
Hi ALL,
I have to developed a asp.net C# application with 3-tier architecture. But Before that I want to know that What is the difference between a 3-tier architecture and a design pattern? Is that both are same? Some one told me that both are not same, and in 3-tier architecture we have to use a design pattern. Is it right? If yes then How?
 
Please Help!!
 
Thanks
Posted 31-May-11 22:34pm
Edited 31-May-11 22:57pm
ambarishtv10.5K
v2
Comments
ambarishtv at 1-Jun-11 4:02am
   
this is the best book for design pattern(GOF)
Design Patterns: Elements of Reusable Object-Oriented Software
Legor at 1-Jun-11 5:11am
   
well its probably not the best from an architectural view, since it's not explaining architectural patterns like 3 tier. But it's a must have for serious programmers indeed (imo).
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

In addition to what Abhinav says: it totally depends on your functional requirements.
No design pattern is good by itself.
 
Three-tiers architecture is not considered a design pattern or architectural pattern, as it's more of application architecture, and design patterns are more technological.
See http://en.wikipedia.org/wiki/Design_pattern_(computer_science)[^] and http://en.wikipedia.org/wiki/Architectural_pattern[^].
 
—SA
  Permalink  
v2
Comments
Abhinav S at 1-Jun-11 4:04am
   
[Thumbs up] 5.
SAKryukov at 1-Jun-11 4:05am
   
Thank you, Abhinav.
--SA
ambarishtv at 1-Jun-11 4:09am
   
my 5
SAKryukov at 1-Jun-11 12:50pm
   
Thank you.
--SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

In addition to the excellent links already posted:
 
Architecture is a somewhat nebulous concept, but relates to high level design decisions, and things which become expensive to change later on. The '3 tier' architecture is traditional for web applications and it works well (though one might argue that a modern web app is actually 4 tier: database, business logic, server-side presentation, and client-side presentation i.e. Ajax/Javascript).
 
Design patterns are essentially ideas that can be re-used in different scenarios. It's normally used for lower level design, on the code or module level – for example MVC (and MVP and MVVM and any other variants), publish-subscribe, enumeration, etc. These sometimes get built into the language or at least the language community; for example the way .Net and Java do collections is essentially the formalisation of the patterns C++ programmers were using for them.
 
I've not heard the term 'architectural pattern' before but it is a reusable architectural design – so 3-tier, event driven, plugin-based and any other common architecture would qualify.
 
The important thing about patterns is that they're just names for particular groups of ideas. Don't use a pattern just because it's a pattern, use it if the ideas it encapsulates are appropriate for your project.
  Permalink  
Comments
Uday P.Singh at 1-Jun-11 6:25am
   
thanks for the reply. Can anyone give me a specific answer of my question that Do we have to use a design pattern in 3-tier architecture??
BobJanova at 1-Jun-11 17:56pm
   
I think that '3 tier' -is- an architectural design pattern. I'm also sure that you will want to use other lower level design patterns to construct your application – it's basically impossible to write a serious application without using or reinventing some.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Have a look at the 3-tier and design pattern definitions here[^].
MVC is a good design pattern to use in ASP.Net.
  Permalink  
Comments
SAKryukov at 1-Jun-11 3:50am
   
That makes sense, my 5, but you should say main words first...
Please see my answer.
--SA
Abhinav S at 1-Jun-11 4:03am
   
Thank you SA.
ambarishtv at 1-Jun-11 3:55am
   
good link my5
Abhinav S at 1-Jun-11 4:04am
   
5? Where? :)
ambarishtv at 1-Jun-11 4:07am
   
Sorry :)
Abhinav S at 1-Jun-11 5:26am
   
No problem. Thanks :)
Uday P.Singh at 1-Jun-11 6:06am
   
thanks for the reply. Can anyone give me a specific answer of my question that Do we have to use a design pattern in 3-tier architecture??
Abhinav S at 1-Jun-11 10:13am
   
There is no hard and fast rule. You can use patterns based on your need.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 4

Not much to add to the explanations so far. Patterns in general are a great way to make use of expert knowledge (that is solution blueprints for often occuring problems). It's definitely worth it to get familiar with at least the main design patterns.
 
Another good page which explains the basic patterns very well is:
http://sourcemaking.com/[^]
 
If you're in an ASP.NET environment i would forward you to the MS Application Archhitecture Guide. It epxplains the main architecture types (not only 3- Tier) very well in my opinion. It also includes plenty of links to HowTo's for specific tasks in ASP.NET and many more stuff.
 
http://msdn.microsoft.com/en-us/library/ff650706.aspx[^]
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 5

simple difference from what-is-difference-Application-Architecture-and-Design-Patterns
 
Application Architecture describes the structure and behavior of applications used in a business. It focuses on how these applications interact with each other and with users. It focuses on the inputs and outputs of applications rather then there internal structure. The applications architecture is specified on the basis of business requirements. It involves defining the interaction between application packages, databases, and middleware systems in terms of functional coverage. Application architecture is at a more abstract level and is independent of the implementation.
 
Design Patterns are the guidelines to avoid/solve common problems in application development. Design patterns tell us how we can achieve a solution in terms of implementation. Design patterns are independent of the programming language and technology platform i.e. we can implement a particular design pattern in any language.
  Permalink  
Comments
Nelek at 12-Dec-13 6:19am
   
You are coming 2 years late ;P

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 George Jonsson 215
1 Kornfeld Eliyahu Peter 169
2 OriginalGriff 120
3 PIEBALDconsult 110
4 Zoltán Zörgő 99
0 OriginalGriff 6,165
1 DamithSL 4,658
2 Maciej Los 4,107
3 Kornfeld Eliyahu Peter 3,649
4 Sergey Alexandrovich Kryukov 3,342


Advertise | Privacy | Mobile
Web03 | 2.8.141220.1 | Last Updated 3 Feb 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100