Technical University of Munich [IN2081]

Patterns in Software Engineering (Exam)

Outline

<aside>

Unknown Vocabulary

<aside>

Status:

✅ - done, ❌ - todo,  🔄 - in process

Week 0.0✅ (Basics of UML and SE) Week 0✅ Repetition I (Composite, Facade, Bridge, Proxy, Adapter) Week 1✅ Introduction (Software Engineering) Week 2✅ Repetition II (Observer, Strategy, REST, Layered, Mock) Week 3✅ Design Patterns I (State, Template, Command, Mediator) Week 4✅ Design Patterns II (Factory, Abstract, Flyweight, Builder) Week 5✅ Architectural Patterns I (MVC, Broker, AI Agent) Week 6✅ Architectural Patterns II (REST, gRPC, Microservices) Week 7✅ Antipatterns I (Golden Hammer, Lava Flow, The Blob, Functional Decomposition) Week 8✅ Antipatterns II (Spaghetti Code, Ctrl+C & Ctlr+V, Vendor lock-in, Analysis Paralysis, Refactoring) Week 9✅ Testing Patterns I (EasyMock, Mockito, Reflection Test, Testing MVC) Week 10✅ Testing Patterns II (Dependency Injection with Guice, Spring, REST Testing) Week 11✅ Microservice Patterns I (Strangler, Decentralized, Circuit Breaker, Async Messages) Week 12✅ Microservice Patterns II (Blue-Green, Canary, Feature Toggles, Retry)

TODO

<aside>

<aside>

To provide a feedback or mark an errors,

please use this comment section →

image.png

</aside>


Basics of OOP

Relation Between Objects


Algorithm vs. pattern

Typical mistakes in software development

What do you have to do to kill a project?

The seven deadly sins in software practice

image.png


Software Engineering

Design Principles


Design Patterns

DP Overview (UML)

Creational Design patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code

<aside>

Creational

Design Patterns

[CDP] Factory Method

[CDP] Abstract Factory

[CDP] Builder

</aside>

Factory vs Abstract Factory


Architectural Patterns


Antipattern