0% found this document useful (0 votes)
45 views2 pages

Muneeb - U-Rehman (17-Arid-1737) Assignment # 2: Architectural Pattern Design Pattern

Architectural patterns address problems at a higher level than design patterns, focusing on system-wide concerns like scalability, reliability, and security. Architectural patterns provide strategic solutions, while design patterns provide tactical solutions to commonly occurring technical problems. The MVC pattern is considered a lightweight architectural pattern because it promotes separation of concerns. By separating the model, view, and controller layers, each component can be developed and tested independently. This makes the application faster, more flexible, and highly testable. Some drawbacks of the layered architectural pattern include a lack of built-in scalability, hidden use cases, no support for dependency inversion, data overhead from duplicated functionality, increased complexity, and potential performance issues for user

Uploaded by

Muneeb Rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views2 pages

Muneeb - U-Rehman (17-Arid-1737) Assignment # 2: Architectural Pattern Design Pattern

Architectural patterns address problems at a higher level than design patterns, focusing on system-wide concerns like scalability, reliability, and security. Architectural patterns provide strategic solutions, while design patterns provide tactical solutions to commonly occurring technical problems. The MVC pattern is considered a lightweight architectural pattern because it promotes separation of concerns. By separating the model, view, and controller layers, each component can be developed and tested independently. This makes the application faster, more flexible, and highly testable. Some drawbacks of the layered architectural pattern include a lack of built-in scalability, hidden use cases, no support for dependency inversion, data overhead from duplicated functionality, increased complexity, and potential performance issues for user

Uploaded by

Muneeb Rao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Muneeb -u-rehman(17-arid-1737)

Assignment # 2
1. What's the difference between an architectural pattern, such as those
described in this chapter 13, and design patterns, such as those collected
by the Gang of Four in 1994 and many other people subsequently? Given
a pattern, how would you decide whether it was an architectural pattern
or a design pattern?
Architectural pattern Design pattern
Architecture mostly addresses problems of design patterns are medium-scale and mostly
distributed functionality, system
language-independent abstractions using
partitioning, protocols, interfaces,
object-oriented mechanisms and described by
scalability, reliability, security UML diagrams which solve commonly occurred
problems in software construction
Architecture is strategic Design is tactical
architecture patterns are well known Design Patterns are well known patterns for
patterns for solving software application solving technical problems in a way that has
architecture problems. proven itself many times

2. Describe why the MVC is a light weight and highly testable architectural
pattern?

MVC is a design pattern. Mvc is lightweight means, first off, all its not support "View State"
concept because it’s not supported the server side control.MVC provides by default layered
architecture like Model, View and controller make application faster and flexible. Since in mvc,
we are using client-side control, its faster and lightweight.
In MVC, model depends on nothing, view depends on model, and controller depends on view &
model.
If A is dependent on B, and B is not unit testable, then A is not unit testable.
View and Controller are not testable. By Making model not dependent on view and controller,
model becomes testable. In MVC, most of the code will be in the model

3. List some 10 drawbacks of Layered pattern.

1. lack of inbuilt scalability: The principles of layered architecture hinders the growth of


your project as it does not help to scale your project. You are required to find a key to
organize it on your own.
2. Hidden use cases: It is difficult to determine the use cases of your project by simply
checking the code organization. You need to refer the class names and, in most cases,
implementation.
3. No dependency inversion: In a layered architecture, the dependencies are direct and
conceptually changes into essential higher layers from a low-level infrastructure layer.
4. Data overhead and processing due to the duplication of functionalities
5. The more layers you have the more risk you have for things to breakdown and data will
be lost
6. Various issues regarding higher layer vs lower layer
7. Result in complex exploitation of user intensive applications
8. This leads to sluggish operation modes on various applications

You might also like