This repository is for Software Systems Design class.
Labs consist of projects, which require both a design (MagicDraw project) and a compilable project. The main goal is to gain understanding of design patterns, apply them in practice and gain intuition when picking a design pattern.
- 1 entity (user, product, etc.) that has variable functionality.
- Use Template Method for one implementation and Strategy pattern for another one.
- Compare both methods.
- Console application with at least a few lines of output.
- Carry out changes:
- Create a new variation.
- Change implementation of a certain initial variation.
Credit card company has many different cards for users: normal, premium, pensioner, veteran (army). Depending on their card, clients may have:
- discounts,
- limits,
- reduced tax for certain services (withrawing, converting to another currency)