Servers provide services
Clients (multiple) connect via computer network
Software Architecture 2. Layered Architecture
Software Architecture
Large-scale design patterns understood to address specific problems. How all
the parts of the code fit together. Adhering to known patterns makes code easier
to understand, debug, and read
1. Client Server Architecture
A server allows for clients to access info from anywhere using computer networks Each layer provides services to the layer above.
(email, web, podcasts). Cross-cutting services such as authentication are available to all layers
Allows for independent development and upgrades within layers
a shared database needs to be accessible from multiple locations
Software Architecture 1 Software Architecture 2
, MCV: One of the earliest design patterns invented by Smalltalk.
Architecture for interactive applications that separates GUI of an application from
3. Observable Design Pattern
the code.
Defines a one-to-many dependency between objects.
Architecture for interactive applications. The application is created independently
ie, An actual temperature has a sensor that reads it and you want to display it on a of the UI. Used for interface development.
number of devices.
In this case, there is a one to many dependency, and the observable object notifies One model, can have more than one controller and view
all listeners of changes to its state. ie, whenever the temp changes, it will tell all the
listeners associated with it. Display will update, icons change etc.
2. Model View Presenter (MVP)
This is how you can set up the communication between a business layer and a
Has no connection between model and view.
presentation layer. There are various observers and in the business or data layer
there are observables. Makes MVC into a cleaner layered interface where there is communication
between any two layers at a time
Three different observers of what the temperature is. If the temp changes, observers change.
Model/ View/ Controller
Subsystems are classified into 3 different types:
1. Model subsystem: Responsible for application domain knowledge. The
core of the application. This maintains the state and data that the application
Model View Controller/ Model View Presenter represents. When significant changes occur in the model, it updates all of its
views.
1. Model View Controller (MVC): User for interface development
Software Architecture 3 Software Architecture 4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller chloewalt. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $2.75. You're not tied to anything after your purchase.