By Yassine Al Harek
Under the supervision of : Pr. Anna Fabijańska
The process of restructuring existing computer code – changing the factoring – without changing its external behaviour.This process is usually motivated by noticing a code smell.
A general reusable solution to a commonly occurring problem within a given context in software design. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.