• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/26

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

26 Cards in this Set

  • Front
  • Back

The Command-Query Separation Principle?

En metod ska antingen ha sido-effecter (en mutator) eller returnera ett värde (en accessor), inte båda.

Vad signifierar en metod som kallas "pure"?

Metoden har inga sidoeffekter, dvs den ändrar inte någon data synbart utanför metoden.

Ett design pattern är...?

...en (ofta namngiven) generell lösning av en vanligt återkommande situation inom (mjukvaru-)design.


(Har ingen färdig kod –de är abstrakta mallar för hur ett problem kan lösas.)

Single Responsibility Principle?

”A class should have only (/at most) one reason to change.”

Poängen med package i Java?

Språk-feature för att definiera väl avgränsade komponenter på högre nivå än classes.

Fördelar med Modulär design?

Reusability, Extensibility, Maintainability, Enkelt, läsbart, överblickbart, Testbart, Robust (vid förändringar)

Open-Closed Principle..?

”A component should be open for extension but closed for modification."

MVC..?

Model - View - Controller


(Smart - Dumb - Thin)

Mediator?

Objects that encapsulates how other objects communicate :)

Pubsub?

Publish-subscribe-pattern:


Mediator-objekten är helt passiva; dvs bryr sig inte om vem som lyssnar. Ett gränssnitt skickar information på olika kanaler, och ett annat för att registrera sig som lyssnare.

MVP..?

Model - View - Presenter


Presenter sköter allresentations-och applikationslogik. Den tar emot en del input från V och står för mer avancerade beräkningar och uppdateringar i modellen. Den är också ansvarig för alla beräkningar som styr hur presentationen ska ske.

S.O.L.I.D...?

De fem viktigaste designmönstrerna

Objekt-orientering är...

...en metodikför att –rätt använd! –reducera komplexitet i mjukvarusystem.

Rätt använd ger objekt-orientering stora möjligheter till:

•Code reuse
•Extensibility
•Easier maintenance

Objekt-orienterad modellering...?

•I en objekt-orienterad modell består en värld av en samling objekt som tillsammans löser den givna uppgiften.
•De enskilda objekten har specifika ansvarsområden och definierar sitt eget beteende.
•Objektensamarbetar genom att kommunicera med varandra via meddelanden, som är en begäran att få en uppgift utförd.

Gimme em patterns!!

Adapter, Bridge, Chain of Responsibility, Composite, Decorator, Facade, Factory, Factory Method, Iterator, Mediator, Model-View-Controller, Module, Observer, Singleton, State, Strategy, Template Method

Gimme em principles!!

•SOLID: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle


•Generella: Composition over Inheritance, High Cohesion, Low Coupling, Separation of Concern, Command-Query Separation, Law of Demeter (Don’t talk to strangers)

Dependency Inversion Principle?

Depend on abstractions, not on concrete implementations.

Single Responsibility Principle?

A class should have only one (at most one) reason to change.

ISP:


Interface Segregation Principle?

No client should be forced to depend on methods it does not use.

Liskov Substitution Principle?

If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2, then S is a subtype of T.

Creational Patterns?

•Berör hur objekt skapas

•Factory
•Factory Method
•Singleton

Behavioral Patterns?

•Berör hur objekt kommunicerar; e.g. vilka metoder och signaturer vi använder




•Observer, Mediator


•Template Method, Strategy, State


•Iterator


•Chain of Responsibility

Structural Patterns?

•Berör hur vi strukturerar komponenter; E.g. vilka klasser och interfaces vi bör använda, och hur de bör bero av varandra
•Adapter
•Bridge
•Composite
•Decorator
•Facade

Architectural Patterns?

•Berör hur vi strukturerar våra program på en högre nivå än klasser

•Module
•Model-View-Controller

Gimme em Techniques!!

Functional Decomposition


Immutability


Defensive Copying


Mutate-by-copy


Method Cascading