Кіріспе

Бағдарламалық жасақтаманы жобалау үлгісі

Абстрактілі фабрика үлгісі – бағдарламалық инженериядағы жобалау үлгісі, нақты кластарын көрсетпей, байланысты объектілердің отбасыларын құру тәсілін ұсынады. Бұл, ортақ тақырыбы бар жеке фабрикалар тобын біріктіру арқылы жүзеге асырылады, осы фабрикалардың нақты кластарын белгілемейді. Осы үлгі бойынша клиенттік бағдарламалық компонент абстрактілі фабриканың нақты түрін құрайды, содан кейін фабриканың жалпы интерфейсін пайдаланып, отбасының құрамына кіретін нақты объектілерді жасайды. Клиент осы ішкі фабрикалардың әрқайсысынан қандай нақты объектілерді алатынын білмейді, себебі ол тек олардың өнімдерінің жалпы интерфейстерін қолданады. Бұл үлгіні қолдану, кодты өзгертпей, тіпті жұмыс істеу кезінде де алмастырылатын нақты түйіндемелерді іске асыруға мүмкіндік береді. Дегенмен, осы үлгіні қолдану, басқа ұқсас жобалау үлгілері сияқты, кодты бастапқыда жазу кезінде қажетсіз күрделілікке және қосымша жұмыстарға алып келуі мүмкін. Сонымен қатар, жоғары деңгейдегі бөліну және абстракция жүйені түзету және күтіп ұстау қиын жүйелерге әкелуі мүмкін.

Нұсқалар

1994 жылы «Design Patterns» еңбегінде анықталған абстрактілі фабрика үлгісінің бастапқы құрылымы абстрактілі фабрика және жасалатын абстрактілі өнімдер үшін абстрактілі сыныптарға негізделген. Нақты фабрикалар мен өнімдер – мұрагерлік арқылы абстрактілі сыныптарды мамандандыратын сыныптар. Үлгінің жаңадан пайда болған құрылымы абстрактілі фабриканы және жасалатын абстрактілі өнімдерді анықтайтын интерфейстерге негізделген. Бұл жоба мұрагерліктен аулақ болу үшін көптеген бағдарламалау тілдеріндегі интерфейстер немесе протоколдарды пайдаланады. Осы жағдайда нақты фабрикалар мен өнімдер интерфейсті іске асыру арқылы оны қолданатын сыныптар болып табылады.