Որոնք են միքսները: Ինչպես ստեղծել օբյեկտների և դասերի վրա հիմնված միքսներ ձեր հավելվածի համար: Ինչպես օգտագործել Mixins-ը

Ներածություն

Ժառանգության մեջ ծրագրավորման լեզուն չի աջակցում բազմամակարդակ ժառանգությանը, ինչը նշանակում է, որ դուք չեք կարող ունենալ մեկից ավելի ծնողներ որոշակի դասի համար: Javascript-ը նույնպես չի աջակցում բազմամակարդակ ժառանգությանը, արդյունքում՝ ձեր կոդի բազան դասավորելիս կան որոշ արգելափակիչներ։

Օրինակ, եկեք ասենք, որ մենք ունենք Man դաս, և դրա ծնողը Person է, հիմա կա որոշակի հարաբերություն, բայց ինչ կլինի, եթե դուք ունեք օգտակար դաս Authorize, որը կապված չէ Person կամ Man դասերի հետ, ուստի ո՞րն է ավելի լավ մոտեցում Authorize օգտագործելու համար: դաս Man դասի համար?

Խնդիրը լուծելու բազմաթիվ եղանակներ կան

  • Կախվածության ներարկում
  • Մեթոդներում առանձին օգտակար և անցումային արժեքի ստեղծում
  • Man օրինակի ստեղծում Authorize դասից

Այս հոդվածում մենք կաշխատենք երրորդ մոտեցման հետ, որտեղ մենք կօգտագործենք mixin-ը որպես վիրտուալ հարաբերություն բոլոր երեք դասերի միջև

Ինչ է Mixin-ը:

Mixin-ը ավելի բարձր մակարդակի ֆունկցիայի կամ դասի հռչակագիր է, որն ունի ներքին մեթոդներ և հատկություններ, որոնք կարող են վերացվել ցանկացած մանկական օբյեկտի՝ դասի կամ օբյեկտի վրա:

JavaScript-ում Mixin-ի ստեղծում

Միքսին ստեղծելու 2 եղանակ կա.

1. Օբյեկտի հայտարարագիր

2. Դասի հայտարարագիր

1. Օբյեկտի հայտարարագիր

Մենք կարող ենք ստեղծել օբյեկտ՝ մեթոդներով և հատկություններով և օգտագործել այն՝ թարմացնելու ցանկացած առկա դասի նախատիպը՝ կցելու համար

Մենք ստեղծել ենք միքսին, որը կկառավարի թույլտվությունը և այն կկցի իր նախատիպի անձի դասին, և այն կարող է մուտք գործել անձի օրինակից:

2. Դասի հայտարարագիր

Դասերի միքսին ստեղծելու համար մենք պետք է ծնող դաս ստեղծենք երեխայի մակարդակի ցանկացած դասի համար, մեր օրինակում մենք պետք է երկուսն էլ ստեղծենք «Person» և «Man» դասերը և ընդլայնենք «Man» վիրտուալ «Person» դասից:

Հայտարարության այս տեսակն օգտակար է, երբ դուք ունեք ժառանգություն նկարում և կարող եք ավելացնել որպես սեփական դասի հատկություններ

Տարբերությունը երկու խառնուրդների միջև

Երկու խառնուրդների հիմնական տարբերությունն այն է, թե երբ և որտեղ են դրանք օգտագործվելու: Օբյեկտների վրա հիմնված միքսներն ավելի լավ տարբերակ են, երբ դուք կարող եք մի քանի ընդհանուր մեթոդ և ցանկանում եք այն կցել ցանկացած գոյություն ունեցող դասի

Մյուս կողմից, դասի վրա հիմնված միքսները լավ են, երբ դուք պարզապես ստեղծում եք մանկական դաս ցանկացած վերացական դասից

Եզրակացություն

Միքսները կարող են լավ լինել օգնական մեթոդների համար, այլ ոչ թե իրական օրինակների մեթոդների համար, և եթե ձեր հավելվածն ունի օրինակների մեթոդ, ապա ես խորհուրդ կտամ ոչ թե ստեղծել mixin, այլ դասեր:

Դուք կարող եք գտնել աղբյուրի կոդը այստեղ: Ուրախ կոդավորում:

Go composable. Ստեղծեք հավելվածներ Lego-ի նման ավելի արագ

Bit-ը բաց կոդով գործիք է՝ մոդուլային և համատեղ ձևով հավելվածներ ստեղծելու համար: Անցեք կոմպոզիտային՝ առաքելու համար ավելի արագ, հետևողական և հեշտությամբ մասշտաբային:

Իմանալ ավելին

Ստեղծեք հավելվածներ, էջեր, օգտատերերի փորձառություններ և միջերեսներ՝ որպես ինքնուրույն բաղադրիչներ: Օգտագործեք դրանք՝ ավելի արագ նոր հավելվածներ և փորձեր ստեղծելու համար: Ներդրեք ցանկացած շրջանակ և գործիք ձեր աշխատանքային գործընթացում: Համօգտագործեք, նորից օգտագործեք և համագործակցեք միասին կառուցելու համար:

Օգնեք ձեր թիմին.

Micro-Frontends

Դիզայնի համակարգեր

Կոդերի փոխանակում և կրկնակի օգտագործում

Մոնորեպոս

Իմացեք ավելին