Objekt-orienterad Programmering och Design (2018)
Föreläsningsanteckningar
Slides från övningar och föreläsningar kommer att publiceras här
under kursens gång.
- Övning 1-1a: Syfte [pdf]
- Föreläsning 1-1b: The Open-Closed principle [pdf]
- Övning 1-2a: UML [pdf]
- Föreläsning 1-2b: Classes, Interfaces, Objects, References
[pdf] (med kodexempel)
- Övning 2-1a: Dynamic binding [pdf]
- Föreläsning 2-1b: Dynamic binding och polymorfism [pdf]
- Övning 2-2a: Subclassing vs Delegation [pdf]
- Föreläsning 2-2b: Principer för Subclasses [pdf] med kodexempel
- Övning 3-1a: Subtyping och Variance [pdf]
- Föreläsning 3-1b: Subtyping, Co- och Contravariance [pdf] med kodexempel
- Övning 3-2a: Generic Type Declarations [pdf]
- Föreläsning 3-2b: Generics och polymorfism [pdf] (kodexempel kommer!)
- Övning 4-1a: High cohesion, Low coupling [pdf]
- Föreläsning 4-1b: Dependencies [pdf]
- Övning 4-2a: Separation of Concern [pdf]
- Föreläsning 4-2b: Modulär design [pdf]
- Övning 5-1a: Factory [pdf]
- Föreläsning 5-1b: Design patterns [pdf]. Kodexempel: Plotter
- Övning 5-2a: Immutability [pdf]
- Föreläsning 5-2b: Mutability och State [pdf]. Kodexempel: Scheduler
- Övning 6-1a: Model-View-Controller [pdf]
- Föreläsning 6-1b: Observers och MVC [pdf]. Kodexempel: Signal
- Övning 6-2a: Design by Contract [pdf]
- Föreläsning 6-2b: Design by Contract, Exceptions, Initialisering [pdf]
- Föreläsning 7-1b: Principer, patterns och tekniker [pdf].
Kodexempel: alternativ implementation av chain of responsibility
- Övning 7-2a: Lambdas [pdf]
- Föreläsning 7-2b: Objekt-orienterat vs funktionellt [pdf].
- Föreläsning 8-1b: Sammanfattning och examinationsinformation [pdf].
- Föreläsning 8-2b: Vad händer nu då? [pdf].
Uppdaterad: 9 March 2018
av Niklas Broberg