𝗙𝗮𝗰𝘁𝗼𝗿𝘆 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗮𝗻𝗱 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁

એક પછી એક ઓબ્જેક્ટ્સ (objects) બનાવવા એ એક ભૂલ છે.

જો તમે દરેક યુઝર અથવા ક્લાસમેટ માટે મેન્યુઅલી ઓબ્જેક્ટ લખો છો, તો તમે કોડનું પુનરાવર્તન કરો છો. જો તમારી પાસે 100 યુઝર્સ હોય, તો તમારે 100 વાર સમાન લોજિક લખવું પડશે. આનાથી બગ્સ (bugs) આવી શકે છે. તમે કદાચ ભૂલથી પછીથી કોઈ પ્રોપર્ટી બદલી શકો છો અને તમારું એપ્લિકેશન બગડી શકે છે.

ક્લીન કોડ લખવા માટે તેના બદલે આ બે પેટર્નનો ઉપયોગ કરો.

  1. Factory Functions

એક સાચી ફેક્ટરી વિશે વિચારો. કાચો માલ અંદર જાય છે અને તૈયાર ઉત્પાદન બહાર આવે છે.

Factory function પેરામીટર્સ લે છે અને નવો ઓબ્જેક્ટ રિટર્ન કરે છે.

Example:

function classFactory(name) {
    return {
        reply() {
            return `${name} is present`
        }
    }
}

ફાયદાઓ:

  1. Constructor Functions

Constructor functions પણ ઓબ્જેક્ટ્સ બનાવે છે. તેઓ "new" કીવર્ડ અને "this" કીવર્ડનો ઉપયોગ કરે છે. પરંપરા મુજબ, તમે આની શરૂઆત કેપિટલ લેટરથી કરો છો.

Example:

function Classmate(name) {
    this.name = name
    this.reply = function() {
        return `${this.name} is present`
    }
}

જ્યારે તમે "new" નો ઉપયોગ કરો છો, ત્યારે JavaScript તમારા માટે કામ કરે છે:

તમારે "return" સ્ટેટમેન્ટની જરૂર નથી.

Scaling your code

તમે મોટી માત્રામાં ડેટા હેન્ડલ કરવા માટે આ પેટર્નને એરેઝ (arrays) સાથે જોડી શકો છો. દરેક નામ ટાઈપ કરવાને બદલે, map ફંક્શનનો ઉપયોગ કરો.

Example:

const names = ['Kali', 'Andrew', 'Pearl', 'Percy']
const classmates = names.map(name => new Classmate(name))

હવે તમારી પાસે ઉપયોગ કરવા માટે ઓબ્જેક્ટ્સની યાદી તૈયાર છે.

Summary:

Source: https://dev.to/pearlodi/factory-functions-and-constructor-functions-in-javascript-lmb