Վարքագծային ձևանմուշներ

Ստեղծող ձևանմուշները (անգլ.՝ behavioral patterns), ծրագրային ապահովման ճարտարագիտության հանդիսանում են նախագծման ձևանմուշներ, որոնք որոշում են իրականացման ալգորիթմներ և մեթոդներ տարբեր օբյեկտների և դասերի միջև։

Ընդհանուր հասկացողություններ խմբագրել

  • Client - հայցող
  • Instance - նմուշ
  • Implementation - իրականացում
  • Product - արգասիք

Կիրառություն խմբագրել

Վարքագծային ձևանմուշներում դասերի մակարդակում օգտագործվում է ժառանգում, որպեսզի որոշվի տարբեր դասերի պահվածքը։

Վարքագծային ձևանմուշներում օբյեկտների մակարդակում օգտագործվում է կոմպոզիցիան։ Նրանցից մի քանիսը նկարագրում են, թե ինչպես մի քանի իրավահավասար օբյեկտներ աշխատում են միևնույն խնդրի վրա, որը նրանցից ոչ մեկը ինքնուրույն իրականացնել չի կարող։ Այստեղ կարևոր է այն, թե ինչպես են օբյեկտները միմյանց գոյության մասին տեղեկություններ ստանում։ Կոլեգա-օբյեկտները կարող են հղումներ պահել միմյանց վրա, բայց դա համակարգի կապվածության աստիճանը կբարձրացնի։ Բարձ կապակցվածության դեպքում օբյեկտին հարկ կլինի ինֆորմացիա ունենալ բոլոր գոյություն ունեցող օբյեկտների մասին։ Ձևանմուշներից որոշները լուծում են այս խնդիրը։

Օրինակներ խմբագրել

  • Պարտականությունների շղթա - Command-ի օբյեկտները մշակվում են կամ փոխանցվում այլ օբյեկտներին, որոնք հանդիսանում են տրամաբանություն պարունակող պրոցեսային օբյեկտներ
  • Հրաման - Command-ի օբյեկտները ինկապսուլյացիա են անում գործողությունը և նրա պարամետրերը
  • Ստեկի իրականացում - Միացնում է ռեկուրսիվ ֆունկցիա կրկնվող գործողությունների դեպքում, եթե այնտեղ օգտագործվում է ստեկ (անգլ.՝ stack)[1]
  • Թարգմանիչ - որոշում է համապատասխան համակարգչային լեզուն հատուկ բազմության խնդիրները արագորեն լուծելու համար
  • Իտերատոր - Իտերատորն օգտագործվում է ընդհանուր օբյեկտի էլեմենտների հերաթականությամբ հասանելիություն ստանալու համար, առանց փոփոխություններ մտցնելու դրանց հիմնական ներկայացման մեջ։
  • Միջնորդ - Ապահովում է միասնական ինտերֆեյս ենթահամակարգի ինտերֆեյսների բազմության համար
  • Պահպանող - Թույլ է տալիս օբյեկտը բերել ելակետային վիճակի (հետ գլորում)
  • Զրոյական օբյեկտ - Նախատեսված է օբյեկտի վրա որպես լռելյայն արժեք գործելու համար
  • Դիտորդ - ռեգիստրացնում է օբյեկտները, որպեսզի հետևի նրանց
    • Թույլ հղման ձևանմուշ - Առանձնացնում է միմյանցից դիտարկվողն ու դիտորդը[2]
  • Պրոտակոլների ստեկ - Կապեր է ստեղծում մշակվող բազմակի շերտերում, որոնք ձևավորվել են հիերարխիայի ինկապսուլյացիայի հետևանքով[3]։
  • Գրաֆիկային խնդիր - Ծրագիրը նախատեսվում է իրականացնել կոնկրետ ժամանակային ինտերվալում
  • Միանգամյա այցելող - Այցելող ձևանմուշի օպտիմիզացում, որն օգտագործվում է միայն մի անգամ, իսկ այնուհետև հեռացվում է
  • Հատկորոշում - Վերակոմբինացնում է բիզնես-տրամաբանությունը բուլյան տրամաբանության
  • Վիճակ - ծրագրի կատարման ժամանակ (անգլ.՝ runtime) օբյեկտում մասնակի փոփոխություններ իրականացնելու համար
  • Մարտավարություն - Կարելի է ընտրել տարբեր ալգորիթմներ
  • Կաղապարային մեթոդ - Նկարագրում է ծրագրի հիմնակմախքը
  • Այցելող - Անջատում է ալգորիթմը օբյեկտից

Ծանոթագրություններ խմբագրել

  1. «Externalize The Stack». c2.com. 2010 թ․ հունվարի 19. Արխիվացված է օրիգինալից 2011 թ․ մարտի 3-ին. Վերցված է 2012 թ․ մայիսի 21-ին.
  2. Nakashian, Ashod (2004 թ․ ապրիլի 11). «Weak Reference Pattern». c2.com. Արխիվացված է օրիգինալից 2011 թ․ մարտի 3-ին. Վերցված է 2012 թ․ մայիսի 21-ին.
  3. «Protocol Stack». c2.com. 2006 թ․ սեպտեմբերի 5. Արխիվացված է օրիգինալից 2011 թ․ մարտի 3-ին. Վերցված է 2012 թ․ մայիսի 21-ին.