Կառուցվածքային նախագծման ձևանմուշներ
Կառուցվածքային նախագծման ձևանմուշներ, նախագծման ձևանմուշներ, որոնցում դիտարկվում է թե ինչպես դասերից և օբյեկտներից ձևավորել ավելի մեծ ստրուկտուրաներ։
Ընդհանուր հասկացողություններ[խմբագրել | խմբագրել կոդը]
- Client - հայցող
- Instance - նմուշ
- Implementation - իրականացում
- Product - արգասիք
Կիրառություն[խմբագրել | խմբագրել կոդը]
Դասի մակարդակի կառուցվածքային ձևանմուշները իրականացման և ինտերֆեյսներից կոմպոզիցիայի ստեղծման համար օգտագործում են ժառանգում։ Ձևանմուշի կիրառման պարզագույն օրինակ է բազմակի ժառանգման օգտագործումը մի քանի դասերը մեկում միավորելու համար։ Արդյունքում ստացվում է մի դաս, որն ունի իր բոլոր ծնողների հատկությունները։ Այս ձևանմուշը հատկապես օգտակար է, երբ պետք է իրագործել իրարից անկախ մշակված մի քանի գրադարանների համատեղ աշխատանք։
Ձևանմուշներ[խմբագրել | խմբագրել կոդը]
- Ադապտեր - ադապտացնում է մի դասի ինտերֆեյսը մյուսին՝ ինչին որ սպասում է հայցողի դասը։
- Ագրեգատ (անգլ.՝ Aggregate pattern) - հանդիսանում է Կազմող ձևանմուշի օրինակ դուստր դասերի ագրեգատացնող մեթոդով։
- Կամուրջ - աբստրակցիան և իրականացումը միմյանցից բաժանում է այնպես, որ վերջիններս կարող փոփոխվել միմյանցից անկախ
- Կազմող - օբյեկտների ծառատիպ կառուցվածք, որտեղ յուրաքանչյուր օբյեկտ ունի նույն ինտերֆեյսը։
- Դեկորատոր - իրականացման ժամանակ դասին ավելացնում է լրացուցիչ հնարավորություն, որն ապահովում է ճկուն այլընտրանք դասերի ֆունկցինալությունն ընդլայնելու համար։
- Ընդարձակելիություն (անգլ.՝ Extensibility pattern) կամ Framework - բարդ կոդը թաքցնում է պարզ ինտերֆեյսի հետևում
- Ճակատ - գոյություն ունեցող ինտերֆեյսի համար ստեղծում է պարզեցված ինտեֆեյս ընդհանուր խնդիրներում այն օգտագործելու համար։
- Հարմարեցնող - մեծ քանակությամբ օբյեկտներ ունեն ընդհանուր հատկություններ՝ հիշողության տարածքն արդյունավետ օգտագործելու համար։
- Խողովակներ և ֆիլտրեր (անգլ.՝ Pipes and filters) - պրոցեսների շղթա, որտեղ մեկի ելքը հանդիսանում է մյուսի սկիզբ։
- Անձնական դաս (անգլ.՝ Private class data pattern) - սահմանափակում է հասանելիությունը։
- Պրոքսի - դասը հանդիսանում է ինտերֆեյս այլ բաների համար։
Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]
- ↑ «Adapter Pipeline»։ Cunningham & Cunningham, Inc.։ 2010-12-31։ Արխիվացված է օրիգինալից 2011-03-03-ին։ Վերցված է 2012-07-20
- ↑ BobbyWoolf (2002-06-19)։ «Retrofit Interface Pattern»։ Cunningham & Cunningham, Inc.։ Արխիվացված է օրիգինալից 2011-03-03-ին։ Վերցված է 2012-07-20
- ↑ MartinZarate (2010-12-31)։ «External Polymorphism»։ Cunningham & Cunningham, Inc.։ Արխիվացված է օրիգինալից 2011-03-03-ին։ Վերցված է 2012-07-20
- ↑ «Tomb Stone»։ Cunningham & Cunningham, Inc.։ 2007-06-17։ Արխիվացված է օրիգինալից 2011-03-03-ին։ Վերցված է 2012-07-20
|