473,320 Members | 1,856 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Do Design Patterns conflict with Layered Architecture?

DS
I'm trying to understand how these two concepts could work together
architecturally (if they can.) I realize both concepts provide benefits
of re-use and ease of maintenance. Which is important when you are
setting up multiple sites that are similar.

But it seems like using both Design Patterns and Layered Architecture
together would create conflicts -- especially in the area of keeping
layers loosely coupled (and even physically on separate server tiers
and possibly with Web Services APIs for each Layer on a service buss)
while still implementing system-wide patterns of design.

For example, consider an ecommerce system that has a Presentation Layer
(on the Web App tier), Business Logic (on the Middlewear tier), and a
Data Access Object layer (on the Database tier).

Along comes a PHP programmer with a JAVA background who believes in the
benefits of using Model-View-Controller (MVC) design patterns.

It seems like constructing "data objects" for creating the "Data Model"
are going to require closer coupling of Business Logic and Data Access
Layers.

It seems like constructing "view objects" for various role-based
interfaces and data states, and subsets of data (like date ranges,
etc.) may require closer coupling of the Presentation Layer and
Business Logic.

It seems like setting up "broadcaster objects" and "listener objects"
for Controller events system-wide could require closer coupling of all
three layers.

Any opinions on how this seems at cross-purposes?

Thanks,

--Dave

Aug 9 '08 #1
1 2015
On Aug 9, 10:30 pm, DS <d...@noSpamPlease.comwrote:
I'm trying to understand how these two concepts could work together
architecturally (if they can.) I realize both concepts provide benefits
of re-use and ease of maintenance. Which is important when you are
setting up multiple sites that are similar.

But it seems like using both Design Patterns and Layered Architecture
together would create conflicts -- especially in the area of keeping
layers loosely coupled (and even physically on separate server tiers
and possibly with Web Services APIs for each Layer on a service buss)
while still implementing system-wide patterns of design.

For example, consider an ecommerce system that has a Presentation Layer
(on the Web App tier), Business Logic (on the Middlewear tier), and a
Data Access Object layer (on the Database tier).

Along comes a PHP programmer with a JAVA background who believes in the
benefits of using Model-View-Controller (MVC) design patterns.

It seems like constructing "data objects" for creating the "Data Model"
are going to require closer coupling of Business Logic and Data Access
Layers.

It seems like constructing "view objects" for various role-based
interfaces and data states, and subsets of data (like date ranges,
etc.) may require closer coupling of the Presentation Layer and
Business Logic.

It seems like setting up "broadcaster objects" and "listener objects"
for Controller events system-wide could require closer coupling of all
three layers.

Any opinions on how this seems at cross-purposes?

Thanks,

--Dave
Not really - the presentation / business / storage layers correspond
directly to the view / controller / model patterns. But the important
thing to remember is that MVC does not simply apply at the top level -
within the 'view' for, say, an appointments editor form, you may will
implement individual components using a MVC model - e.g. in a
component for managing the time of an event the model renders the
widget using the time and date it gets from the controller, and
returns the user amended data back to the controller. The controller
maps a UTC time to the users timezone using the appropriate date
format and language. The model handles interaction with the form's
model.

The view object for this component may in turn be composited of MVC
objects.....

C.
Aug 10 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
by: Uwe Mayer | last post by:
Hi, I have the following inter-class relationships: __main__: (in file LMCMain.py) imports module FileIO defines class LMCMain instanciats main = LMCMain(...) FileIO.py:
2
by: Matthew Hood | last post by:
My company has expressed a desire to convert an existing MS Access application to a full VB.NET application. My experience is with VB6 so I want to ask a few questions and get some input on the...
5
by: Ludwig Wittgenstein | last post by:
Other than the Design Patterns book, which book(s) is/are the best to learn object-oriented software design/architecture from ?
7
by: Jon Davis | last post by:
I have a couple questions. First of all, would anyone consider a multi-layered programming approach (building business objects that are seperate from data access logic and seperate from user...
3
by: Richard | last post by:
Hello, How do you guys implement 3-tier applications with .NET's design mode controls. For example, on an ASP .NET form, the SQLDataSource and the Gridview belong in 2 different tiers. If they...
0
by: Joerg Rech | last post by:
Dear software practitioners, consultants, and researchers, we are currently conducting an international survey about architecture and design patterns. Our goal is to discover how familiar people...
0
by: Joerg Rech | last post by:
Dear software practitioners, consultants, and researchers, we are currently conducting an international survey about architecture and design patterns. Our goal is to discover how familiar people...
7
by: =?Utf-8?B?bWF2cmlja18xMDE=?= | last post by:
Hi, I would like to know more about design patterns and specifically using C#. Can any one recommend a good book? Thanks
6
by: abcd | last post by:
I have 13 yrs experience working from Visual Studio 1.x today VS 2005 (both VB and C++) Most of the time I have worked in N-tier applications, Web applications, Windows applications....My...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.