ComboBox ఎందుకు సరిపోదు
మీరు బిజినెస్ అప్లికేషన్లను నిర్మిస్తారు. మీరు పదేపదే ఒకే రకమైన సమస్యలను పరిష్కరిస్తారు.
మీరు కస్టమర్ సెర్చ్ ఫీచర్లను నిర్మిస్తారు. మీరు ప్రొడక్ట్ ఆటోకంప్లీట్ ఫీల్డ్లను నిర్మిస్తారు. మీరు సెలెక్షన్ పాపప్లను నిర్మిస్తారు.
చాలా UI లైబ్రరీలు వీటిని వేర్వేరు విడ్జెట్లుగా పరిగణిస్తాయి. వాటిని లుకప్లు (lookups) లేదా ఆటోకంప్లీట్ బాక్స్లు అని పిలుస్తారు. ఇది ఒక పొరపాటు.
ఇవి వేర్వేరు సమస్యలు కావు. ఇవన్నీ ఒకే సమస్య. నేను ఈ కాన్సెప్ట్ను Locator అని పిలుస్తాను.
బిజినెస్ అప్లికేషన్లు రిఫరెన్స్లపై ఆధారపడి ఉంటాయి.
- ఒక సేల్స్ ఆర్డర్ కస్టమర్ను రిఫరెన్స్ చేస్తుంది.
- ఒక ఇన్వాయిస్ సప్లయర్ను రిఫరెన్స్ చేస్తుంది.
- ఒక ట్రాన్సాక్షన్ ప్రొడక్ట్ను రిఫరెన్స్ చేస్తుంది.
డేటాబేస్లు వీటిని IDలుగా నిల్వ చేస్తాయి. కానీ వినియోగదారులు IDల గురించి ఆలోచించరు. వినియోగదారులు పేర్లు, కోడ్లు లేదా బార్కోడ్ల గురించి ఆలోచిస్తారు.
అసలు సమస్య మీరు IDని ఎలా నిల్వ చేస్తారు అన్నది కాదు. వినియోగదారునికి తెలిసిన సమాచారాన్ని ఉపయోగించి, సరైన ఎంటిటీని (entity) వారు ఎలా కనుగొంటారు అన్నదే అసలు సమస్య.
చిన్న జాబితాల కోసం ComboBox సరిపోతుంది. దేశాలు లేదా కరెన్సీల కోసం దీనిని ఉపయోగించవచ్చు. ఇటువంటి జాబితాలలో కొన్ని డజన్ల వరుసలు మాత్రమే ఉంటాయి.
పెద్ద డేటాసెట్ల విషయంలో ComboBox విఫలమవుతుంది. మీరు 1,00,000 మంది కస్టమర్ల జాబితాను స్క్రోల్ చేయలేరు. ఈ స్థాయిలో, మీరు కేవలం ఒక జాబితా నుండి ఎంచుకోవడం లేదు; మీరు ఒక రికార్డును వెతుకుతున్నారు (locating).
Locator అనేది ఒక UI కంట్రోల్ కాదు. అది ఒక ప్రవర్తన (behavior).
Locator కేవలం ఒక విలువను తిరిగి ఇవ్వడమే కాకుండా, ఒక బిజినెస్ రిఫరెన్స్ను పరిష్కరిస్తుంది (resolves).
వినియోగదారుడు ఒక ప్రొడక్ట్ను ఎంచుకున్నప్పుడు, యాప్కు కేవలం ProductId మాత్రమే సరిపోదు. దానికి యూనిట్ ధర (unit price), VAT రేటు మరియు కొలత ప్రమాణం (unit of measure) కూడా అవసరం.
ఒక నిర్దిష్ట సందర్భంలో (context) రిఫరెన్స్ను పరిష్కరించడం ద్వారా Locator వీటన్నింటినీ అందిస్తుంది.
UI మారవచ్చు:
- డెస్క్టాప్లో, ఇది రెండు సెర్చేబుల్ ఫీల్డ్లలా కనిపిస్తుంది.
- గ్రిడ్లో, ఇది ఒక కస్టమ్ ఎడిటర్లా కనిపిస్తుంది.
- మొబైల్లో, ఇది ఒక సెర్చ్ స్క్రీన్లా కనిపిస్తుంది.
రూపం మారవచ్చు, కానీ ప్రవర్తన మాత్రం ఒకేలా ఉంటుంది.
మంచి Locator వినియోగదారుని గౌరవిస్తుంది. అనుభవజ్ఞులైన వినియోగదారులు కీబోర్డ్లను ఉపయోగిస్తారు. ఒక Locator ఒకే ఒక సరిపోలే ఫలితాన్ని (unique match) కనుగొంటే, వెంటనే ఎంపికను పూర్తి చేయాలి. ఒకటి కంటే ఎక్కువ ఫలితాలు ఉన్నప్పుడు మాత్రమే ఎంపిక కోసం అడగాలి.
సెర్చ్, ఆటోకంప్లీట్ మరియు పాపప్లను సంబంధం లేని విడ్జెట్లుగా చూడటం ఆపండి. బిజినెస్ సాఫ్ట్వేర్కు Locator అనేది ఒక ప్రాథమిక కాన్సెప్ట్ అని గుర్తించండి.
