Object-oriented design patterns in Fortran 90/95: mazev1, mazev2 and mazev3 · Study