Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Бағдарламалық жасақтаманы жобалау үлгісі
Software design pattern
Абстрактілі фабрика үлгісі – бағдарламалық инженериядағы жобалау үлгісі, нақты кластарын көрсетпей, байланысты объектілердің отбасыларын құру тәсілін ұсынады. Бұл, ортақ тақырыбы бар жеке фабрикалар тобын біріктіру арқылы жүзеге асырылады, осы фабрикалардың нақты кластарын белгілемейді. Осы үлгі бойынша клиенттік бағдарламалық компонент абстрактілі фабриканың нақты түрін құрайды, содан кейін фабриканың жалпы интерфейсін пайдаланып, отбасының құрамына кіретін нақты объектілерді жасайды. Клиент осы ішкі фабрикалардың әрқайсысынан қандай нақты объектілерді алатынын білмейді, себебі ол тек олардың өнімдерінің жалпы интерфейстерін қолданады. Бұл үлгіні қолдану, кодты өзгертпей, тіпті жұмыс істеу кезінде де алмастырылатын нақты түйіндемелерді іске асыруға мүмкіндік береді. Дегенмен, осы үлгіні қолдану, басқа ұқсас жобалау үлгілері сияқты, кодты бастапқыда жазу кезінде қажетсіз күрделілікке және қосымша жұмыстарға алып келуі мүмкін. Сонымен қатар, жоғары деңгейдегі бөліну және абстракция жүйені түзету және күтіп ұстау қиын жүйелерге әкелуі мүмкін.
The abstract factory pattern in software engineering is a design pattern that provides a way to create families of related objects without imposing their concrete classes, by encapsulating a group of individual factories that have a common theme without specifying their concrete classes. According to this pattern, a client software component creates a concrete implementation of the abstract factory and then uses the generic interface of the factory to create the concrete objects that are part of the family. The client does not know which concrete objects it receives from each of these internal factories, as it uses only the generic interfaces of their products. Use of this pattern enables interchangeable concrete implementations without changing the code that uses them, even at runtime. However, employment of this pattern, as with similar design patterns, may result in unnecessary complexity and extra work in the initial writing of code. Additionally, higher levels of separation and abstraction can result in systems that are more difficult to debug and maintain.
Нұсқалар
1994 жылы «Design Patterns» еңбегінде анықталған абстрактілі фабрика үлгісінің бастапқы құрылымы абстрактілі фабрика және жасалатын абстрактілі өнімдер үшін абстрактілі сыныптарға негізделген. Нақты фабрикалар мен өнімдер – мұрагерлік арқылы абстрактілі сыныптарды мамандандыратын сыныптар. Үлгінің жаңадан пайда болған құрылымы абстрактілі фабриканы және жасалатын абстрактілі өнімдерді анықтайтын интерфейстерге негізделген. Бұл жоба мұрагерліктен аулақ болу үшін көптеген бағдарламалау тілдеріндегі интерфейстер немесе протоколдарды пайдаланады. Осы жағдайда нақты фабрикалар мен өнімдер интерфейсті іске асыру арқылы оны қолданатын сыныптар болып табылады.
The original structure of the abstract factory pattern, as defined in 1994 in Design Patterns, is based on abstract classes for the abstract factory and the abstract products to be created. The concrete factories and products are classes that specialize the abstract classes using inheritance. A more recent structure of the pattern is based on interfaces that define the abstract factory and the abstract products to be created. This design uses native support for interfaces or protocols in mainstream programming languages to avoid inheritance. In this case, the concrete factories and products are classes that realize the interface by implementing it.