𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 میں 𝗙𝗮𝗰𝘁𝗼𝗿𝘆 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 اور 𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀

ایک ایک کر کے objects بنانا ایک غلطی ہے۔

اگر آپ ہر صارف (user) یا ہم جماعت (classmate) کے لیے دستی طور پر (manually) ایک object لکھتے ہیں، تو آپ کوڈ کو بار بار دہراتے ہیں۔ اگر آپ کے پاس 100 صارفین ہیں، تو آپ ایک ہی منطق (logic) کو 100 بار لکھیں گے۔ اس سے بگ (bugs) پیدا ہو سکتے ہیں۔ ہو سکتا ہے کہ آپ بعد میں غلطی سے کسی پراپرٹی (property) کو تبدیل کر دیں اور آپ کی ایپلی کیشن خراب ہو جائے۔

صاف ستھرا کوڈ لکھنے کے لیے اس کے بجائے ان دو پیٹرنز (patterns) کا استعمال کریں۔

  1. Factory Functions

ایک حقیقی فیکٹری کے بارے میں سوچیں۔ خام مال (raw materials) اندر جاتا ہے اور ایک تیار شدہ مصنوعات (finished product) باہر آتی ہے۔

ایک factory function پیرامیٹرز (parameters) لیتا ہے اور ایک نیا object واپس (return) کرتا ہے۔

Example:

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

فوائد:

  1. Constructor Functions

Constructor functions بھی objects تخلیق کرتے ہیں۔ یہ "new" کی ورڈ اور "this" کی ورڈ کا استعمال کرتے ہیں۔ روایت کے مطابق، آپ ان کا آغاز بڑے حرف (capital letter) سے کرتے ہیں۔

Example:

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

جب آپ "new" کا استعمال کرتے ہیں، تو JavaScript آپ کے لیے کام کرتی ہے:

آپ کو "return" سٹیٹمنٹ کی ضرورت نہیں ہوتی۔

اپنے کوڈ کو اسکیل (scale) کرنا

آپ بڑی مقدار میں ڈیٹا کو سنبھالنے کے لیے ان پیٹرنز کو arrays کے ساتھ ملا سکتے ہیں۔ ہر نام ٹائپ کرنے کے بجائے، ایک map function کا استعمال کریں۔

Example:

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

اب آپ کے پاس استعمال کے لیے objects کی ایک فہرست تیار ہے۔

خلاصہ:

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