Proqram təminatı freymvorku (ing.Software framework) —kompüter proqramlaşdırmasında ümumi funksionallığı təmin edənproqramın əlavə istifadəçi tərəfindən yazılmış kodla seçici şəkildə dəyişdirilə biləcəyi və beləliklə, tətbiq üçün xüsusi proqram təmin edə biləcəyi abstraksiya. Bu, proqramların qurulması və yerləşdirilməsi üçün standart bir yol təqdim edir. Proqram təminatı freymvorkuproqram təminatının, məhsulların və həllərin işlənib hazırlanmasını asanlaşdırmaq üçün daha böyükproqram platformasının bir hissəsi kimi xüsusi funksionallığı təmin edən universal, təkrar istifadə edilə bilən proqram mühitidir.
Proqram təminatı freymvorklarına layihə və ya sistemin inkişafını təmin etmək üçün bütün müxtəlif komponentləri birləşdirən dəstək proqramları, kompilyatorlar, kod kitabxanaları, alət dəstləri vətətbiq proqramlaşdırma interfeysləri (API) daxil ola bilər.
Freymvorklar onları adikitabxanalardan ayıran əsas fərqləndirici xüsusiyyətlərə malikdir:
nəzarətin inversiyası: Bir freymvorkda, kitabxanalardan və ya standart istifadəçi proqramlarından fərqli olaraq, proqramın ümumi idarəetmə axını zəng edən tərəfindən deyil, freymvork tərəfindən diktə edilir.[1] Bu, adətən "Template Method Pattern" ilə əldə edilir.
defolt davranış: Bu, freymvork tərəfindən təmin edilən abstrakt sinifdə "Template Method Pattern"in invariant üsulları ilə təmin edilə bilər.
genişlənmə qabiliyyəti: İstifadəçi, adətən seçmə üstünlüyü vasitəsilə freymvorku genişləndirə bilər və ya proqramçılar xüsusi funksionallığı təmin etmək üçün özəl istifadəçi kodu əlavə edə bilərlər. Bu, adətən supersinifdə şablon metodunu ləğv edən alt sinifdə çəngəl metodu ilə əldə edilir.
dəyişdirilə bilməyən freymvork kodu: İstifadəçi tərəfindən həyata keçirilən genişləndirmələri qəbul edərkən, ümumiyyətlə, dəyişdirilməməli olan freymvork kodu. Başqa sözlə, istifadəçilər freymvorku genişləndirə bilər, lakin kodunu dəyişdirə bilməzlər.