• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Difference Between Design Pattern and Architecture

 
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi All,

I think this is the best place to clear my doubt about the difference between an architecture and design pattern. Could any one please make this clear to me as I havn't got much stuff to clear this doubt.

Thank you
Vikas Sharda
 
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
- Architecture : sets which functionality the system should perform, split the functionality between components, set how components should behave and communicate in the system context, set the physical location of components and finally choose the tools in order to create components.



- Design : while architecture deals more with the wide picture, design should drill down in to the details relating to implementing certain components. Designing of components end up with classes, interfaces, abstract classes and other OO feature in order to fulfill the given component tasks.
 
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
hier something about desing patterns
(He is the father of the Pattern Language movement in computer science)
Design patterns:
Each pattern describes a problem which occurs over and
over again in our environment, and then describes the
core of the solution to that problem, in such a way
that you can use this solution a million times over,
without ever doing it the same way twice. -- ChristopherAlexander

A design pattern systematically names, motivates,
and explains a general design that addresses a recurring
design problem in object-oriented systems. It describes the
problem, the solution, when to apply the solution, and its
consequences. It also gives implementation hints and examples.
The solution is a general arrangement of objects and classes
that solve the problem. The solution is customized and
implemented to solve the problem in a particular context. -- DesignPatternsBook.
--- Architecture:
upps! 4 books "the nature of order by christopher alexander"!!!
wonderful stuff
cheers
 
Vikas
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Pawan and Sergio, It's a great help, now where does a framework fits in??
 
Ranch Hand
Posts: 333
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A framework is an implementation of a design pattern, viz., Struts.

A design pattern is an established solution to a commonly recurring problem, viz., MVC, Dependency Injection.
(Or, a workaround for limitations in the API. )

An architecture is an abstraction of the layers in an application, say, web application, viz. 2-tier architecture.

Example:
You can have a 3-tier or n-tier architecture using the Struts framework which implements the MVC design pattern.
Period.
 
Vikas
Ranch Hand
Posts: 63
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Kedar, but sometimes we hear MVC as an architecture and somtimes it is heard as a design pattern.... can you clear this picture as well??

Thank you
Vikas Sharda
 
Pawan Ramchandani
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Kedar is correct framwork is implementaion of pattens.
Framework is not necessary based on an particular pattern rather you can also apply more then one pattern for single framwork.
 
Ranch Hand
Posts: 1855
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Vikas,

you are definitly in the wrong place here to discuss design patterns and architectures .

There is a much better place to discuss your question at JavaRanch namely the OO, Patterns, UML and Refactoring forum. (Haven't you seen that ?).

Concerning your questions. Here is my view :

A framework is a structure that predefines the architecture for a specific class of applications. A framework specifies an architecture and the architectural components for a particular type of application.

MVC is often called architecture or compound design pattern because it contains a bunch of commonly known (classical GOF) design patterns.

Now a software architecture describe the overall structure of an application.

Regards,
Darya
[ July 12, 2005: Message edited by: Darya Akbari ]
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
simple difference from http://aspnet.blogershub.com/Archive/2013/12/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.
 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Darya Akbari wrote:
There is a much better place to discuss your question at JavaRanch namely the OO, Patterns, UML and Refactoring forum. (Haven't you seen that ?).



Sure is moving.
 
Ranch Hand
Posts: 89
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As I understand, architecture is something that is more general, abstract. On the basis of an architecture a software is then realized. And design patterns are what can help to deal with bad code organization. A very old but really helpful book, devoted to design patterns is this.
 
Author
Posts: 63
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you are making a house, architecture is like deciding number of room, their size, and how they will be connected to each other. Design pattern is like deciding on windows to get maximum sunlight.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic