Patterns Flashcards
Layer: Wat is het layer pattern?
Het layern patroon definieert lagen (groeperingen van modules die een samenhangende set van diensten aanbieden) en een unidirectionele “allowed-to-use” relatie tussen de lagen.
Layer: What moet een de description van een layer beschrijven:
Welke modules er in de layer zitten
Layer: Welke Constraints:
Minimaal 2 layers, Lower-layer kan niet een layer boven hem gebruiken.
Layer, Weakness:
Layers dragen bij aan een performance penalty en voegt up-front kosten to aan een system
Broker,Wat is het broker pattern?
Het broker-patroon definieert een runtime-component, genaamd een broker, die de communicatie tussen een aantal clients en servers bemiddelt.
Broker, Welke elementen zijn aanwezig?
Client: Een vragen van een services, Server: een provider van een service
Broker: Bemiddelaar die de vraag van de client doorstuurt naar de server en het antwoord terugstuurt.
Client-side-proxy: Manages the communication with the broker from client side
Server-side-proxy: Manages the communication with the broker from the server side.
Broker, Constraints?
De client kan alleen verbinding maken met een broker (mogelijk via een client-side proxy). De server kan alleen verbinding maken met een broker (mogelijk via een server-side proxy).
Broker, Weaknessess:
Brokers voegen een laag van indirectie toe, en daarmee latentie, tussen clients en servers, wat een communicatieknelpunt kan zijn.
De broker kan een enkel punt van falen zijn.
Een broker voegt vooraf complexiteit toe.
Een broker kan een doelwit zijn voor beveiligingsaanvallen.
Een broker kan moeilijk te testen zijn.
MVC: Wat is het?
Breekt systeem functionaliteit in 3 componenten
Mvc: m en wat doet het?
Model, - The model is a representation of the application data or state, and it contains (or
provides an interface to) application logic
MVC: V en wat doet het
View, The view is a user interface component that either produces a representation of the
model for the user or allows for some form of user input, or both.
MVC: C en wat doet het
Controller, The controller manages the interaction between the model and the view, translating
user actions into changes to the model or changes to the view.
mvc, weakness:
Complexity, niet waard voor simpele user interfaces
MVC Kan soms geen good fit zijn voor sommige user interface toolkits
mvc Constraints:
At least one instance of each model,view,controller
Model component should not interact directly with the controller
Publish Subscribe: Wat is het?
Componenten publiceren en abonneren zich op gebeurtenissen. Wanneer een gebeurtenis wordt aangekondigd door een component, stuurt de connector-infrastructuur de gebeurtenis door naar alle geregistreerde abonnees.
publish-subscribe Constraints:
Alle componenten zijn verbonden met een eventdistributor, die kan worden gezien als een bus (connector) of als een component. Publiceer-poorten zijn gekoppeld aan aankondigingsrollen en abonneer-poorten zijn gekoppeld aan luisterrollen.
publish-subscribe weaknessess:
Verhoogt doorgaans de latentie en heeft een negatief effect op de schaalbaarheid en voorspelbaarheid van de berichtaflevertijd.
Minder controle over de volgorde van berichten, en aflevering van berichten is niet gegarandeerd.
pipe and filter:
Gegevens worden getransformeerd van de externe inputs van een systeem naar de externe outputs via een reeks transformaties uitgevoerd door filters die verbonden zijn door pipes.
pipe and filter elements:
Filter: een component die gegevens transformeert die worden gelezen op zijn invoerpoort(en) naar gegevens die worden geschreven op zijn uitvoerpoort(en).
Pipe: een connector die gegevens van de uitvoerpoort(en) van een filter naar de invoerpoort(en) van een ander filter overbrengt. Een pipe heeft één enkele bron voor zijn invoer en één enkel doel voor zijn uitvoer. Een pipe behoudt de volgorde van gegevensitems en wijzigt de gegevens die erdoorheen gaan niet.