ComboBox کافی کیوں نہیں ہے

آپ کاروباری ایپلی کیشنز (business applications) بناتے ہیں۔ آپ بار بار ایک ہی طرح کے مسائل حل کرتے ہیں۔

آپ کسٹمر سرچ (customer searches) بناتے ہیں۔ آپ پروڈکٹ آٹو کمپلیٹ (product autocomplete) فیلڈز بناتے ہیں۔ آپ سلیکشن پاپ اپس (selection popups) بناتے ہیں۔

زیادہ تر UI لائبریریز ان کو الگ الگ ویجٹس (widgets) کے طور پر دیکھتی ہیں۔ وہ انہیں لک اپس (lookups) یا آٹو کمپلیٹ باکسز کہتے ہیں۔ یہ ایک غلطی ہے۔

یہ مختلف مسائل نہیں ہیں۔ یہ ایک ہی مسئلہ ہے۔ میں اس تصور کو Locator کہتا ہوں۔

کاروباری ایپلی کیشنز ریفرنسز (references) پر انحصار کرتی ہیں۔

  • ایک سیلز آرڈر کسی کسٹمر کا ریفرنس دیتا ہے۔
  • ایک انوائس کسی سپلائر کا ریفرنس دیتی ہے۔
  • ایک ٹرانزیکشن کسی پروڈکٹ کا ریفرنس دیتی ہے۔

ڈیٹا بیسز انہیں IDs کے طور پر محفوظ کرتے ہیں۔ صارفین IDs کے بارے میں نہیں سوچتے۔ صارفین ناموں، کوڈز یا بار کوڈز کے بارے میں سوچتے ہیں۔

اصل مسئلہ یہ نہیں ہے کہ آپ ID کو کیسے محفوظ کرتے ہیں۔ مسئلہ یہ ہے کہ صارف اپنی معلومات کو استعمال کرتے ہوئے صحیح اینٹیٹی (entity) کو کیسے تلاش کرتا ہے۔

ComboBox چھوٹی فہرستوں کے لیے کام کرتا ہے۔ اسے ممالک یا کرنسیوں کے لیے استعمال کریں۔ ان فہرستوں میں چند درجن قطاریں ہوتی ہیں۔

بڑے ڈیٹا سیٹس (datasets) کے لیے ComboBox ناکام ہو جاتا ہے۔ آپ ایک لاکھ کسٹمرز میں اسکرول نہیں کر سکتے۔ اس پیمانے پر، آپ اب کسی فہرست میں سے انتخاب نہیں کر رہے ہوتے، بلکہ آپ ایک ریکارڈ تلاش (locate) کر رہے ہوتے ہیں۔

Locator کوئی UI کنٹرول نہیں ہے۔ یہ ایک طرزِ عمل (behavior) ہے۔

Locator صرف ایک ویلیو واپس کرنے سے کہیں زیادہ کام کرتا ہے۔ یہ ایک کاروباری ریفرنس کو حل (resolve) کرتا ہے۔

جب کوئی صارف پروڈکٹ کا انتخاب کرتا ہے، تو ایپ کو صرف ProductId کی ضرورت نہیں ہوتی۔ اسے یونٹ پرائس (unit price) کی ضرورت ہوتی ہے۔ اسے VAT ریٹ کی ضرورت ہوتی ہے۔ اسے پیمائش کی اکائی (unit of measure) کی ضرورت ہوتی ہے۔

Locator ایک مخصوص سیاق و سباق (context) کے اندر ریفرنس کو حل کر کے یہ سب فراہم کرتا ہے۔

UI تبدیل ہو سکتا ہے:

  • ڈیسک ٹاپ پر، یہ دو قابلِ تلاش فیلڈز کی طرح نظر آتا ہے۔
  • گرڈ (grid) میں، یہ ایک کسٹم ایڈیٹر کی طرح نظر آتا ہے۔
  • موبائل پر، یہ ایک سرچ اسکرین کی طرح نظر آتا ہے۔

ظاہری شکل بدل جاتی ہے، لیکن طرزِ عمل وہی رہتا ہے۔

ایک اچھا Locator صارف کا احترام کرتا ہے۔ تجربہ کار صارفین کی بورڈ استعمال کرتے ہیں۔ اگر Locator کو کوئی منفرد میچ مل جائے تو اسے فوراً انتخاب مکمل کر لینا چاہیے۔ اسے انتخاب کے لیے صرف تب پوچھنا چاہیے جب ایک سے زیادہ میچز موجود ہوں۔

سرچ، آٹو کمپلیٹ اور پاپ اپس کو غیر متعلقہ ویجٹس سمجھنا بند کریں۔ Locator کو کاروباری سافٹ ویئر کے ایک بنیادی تصور کے طور پر تسلیم کریں۔

ماخذ: https://dev.to/tbebekis/-fundamental-concepts-of-business-applications-i-why-a-combobox-is-not-enough-pb4