ComboBox ಏಕೆ ಸಾಕಾಗುವುದಿಲ್ಲ
ನೀವು ವ್ಯವಹಾರಿಕ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು (business applications) ನಿರ್ಮಿಸುತ್ತೀರಿ. ನೀವು ಪದೇ ಪದೇ ಒಂದೇ ರೀತಿಯ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತೀರಿ.
ನೀವು ಗ್ರಾಹಕರ ಹುಡುಕಾಟದ (customer searches) ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ. ನೀವು ಉತ್ಪನ್ನಗಳ ಆಟೋಕಂಪ್ಲೀಟ್ (product autocomplete) ಫೀಲ್ಡ್ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ. ನೀವು ಆಯ್ಕೆ ಮಾಡುವ ಪಾಪ್-ಅಪ್ಗಳನ್ನು (selection popups) ನಿರ್ಮಿಸುತ್ತೀರಿ.
ಹೆಚ್ಚಿನ UI ಲೈಬ್ರರಿಗಳು ಇವುಗಳನ್ನು ಪ್ರತ್ಯೇಕ ವಿಜೆಟ್ಗಳಾಗಿ (widgets) ಪರಿಗಣಿಸುತ್ತವೆ. ಅವುಗಳನ್ನು ಲುಕ್ಅಪ್ಗಳು (lookups) ಅಥವಾ ಆಟೋಕಂಪ್ಲೀಟ್ ಬಾಕ್ಸ್ಗಳು ಎಂದು ಕರೆಯುತ್ತವೆ. ಇದು ಒಂದು ತಪ್ಪು.
ಇವು ಬೇರೆ ಬೇರೆ ಸಮಸ್ಯೆಗಳಲ್ಲ. ಇವೆಲ್ಲವೂ ಒಂದೇ ಸಮಸ್ಯೆ. ನಾನು ಈ ಪರಿಕಲ್ಪನೆಯನ್ನು 'ಲೋಕೇಟರ್' (Locator) ಎಂದು ಕರೆಯುತ್ತೇನೆ.
ವ್ಯವಹಾರಿಕ ಅಪ್ಲಿಕೇಶನ್ಗಳು ರೆಫರೆನ್ಸ್ಗಳ (references) ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿವೆ.
- ಒಂದು ಸೇಲ್ಸ್ ಆರ್ಡರ್ ಗ್ರಾಹಕನನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ.
- ಒಂದು ಇನ್ವಾಯ್ಸ್ ಪೂರೈಕೆದಾರರನ್ನು (supplier) ರೆಫರ್ ಮಾಡುತ್ತದೆ.
- ಒಂದು ವಹಿವಾಟು (transaction) ಉತ್ಪನ್ನವನ್ನು ರೆಫರ್ ಮಾಡುತ್ತದೆ.
ಡೇಟಾಬೇಸ್ಗಳು ಇವುಗಳನ್ನು IDಗಳ ರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಬಳಕೆದಾರರು IDಗಳ ಮೂಲಕ ಯೋಚಿಸುವುದಿಲ್ಲ. ಬಳಕೆದಾರರು ಹೆಸರುಗಳು, ಕೋಡ್ಗಳು ಅಥವಾ ಬಾರ್ಕೋಡ್ಗಳ ಮೂಲಕ ಯೋಚಿಸುತ್ತಾರೆ.
ನಿಜವಾದ ಸಮಸ್ಯೆ ನೀವು ID ಅನ್ನು ಹೇಗೆ ಸಂಗ್ರಹಿಸುತ್ತೀರಿ ಎಂಬುದಲ್ಲ. ಬದಲಾಗಿ, ಬಳಕೆದಾರರು ತಮಗೆ ತಿಳಿದಿರುವ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿ ಸರಿಯಾದ ಎಂಟಿಟಿಯನ್ನು (entity) ಹೇಗೆ ಹುಡುಕುತ್ತಾರೆ ಎಂಬುದು ಮುಖ್ಯವಾದ ಸಮಸ್ಯೆ.
ComboBox ಸಣ್ಣ ಪಟ್ಟಿಗಳಿಗೆ (lists) ಕೆಲಸ ಮಾಡುತ್ತದೆ. ದೇಶಗಳು ಅಥವಾ ಕರೆನ್ಸಿಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಿ. ಇಂತಹ ಪಟ್ಟಿಗಳಲ್ಲಿ ಕೇವಲ ಕೆಲವು ಡಜನ್ ಸಾಲುಗಳಿರುತ್ತವೆ.
ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ಗಳ ವಿಷಯದಲ್ಲಿ ComboBox ವಿಫಲವಾಗುತ್ತದೆ. ನೀವು 1,00,000 ಗ್ರಾಹಕರ ಪಟ್ಟಿಯನ್ನು ಸ್ಕ್ರೋಲ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇಂತಹ ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ, ನೀವು ಕೇವಲ ಪಟ್ಟಿಯಿಂದ ಆಯ್ಕೆ ಮಾಡುತ್ತಿಲ್ಲ; ಬದಲಾಗಿ ನೀವು ಒಂದು ರೆಕಾರ್ಡ್ ಅನ್ನು ಹುಡುಕುತ್ತಿದ್ದೀರಿ (locating).
ಲೋಕೇಟರ್ (Locator) ಎಂಬುದು ಕೇವಲ UI ಕಂಟ್ರೋಲ್ ಅಲ್ಲ. ಅದು ಒಂದು ವರ್ತನೆ (behavior).
ಲೋಕೇಟರ್ ಕೇವಲ ಒಂದು ಮೌಲ್ಯವನ್ನು (value) ನೀಡುವ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಅದು ಒಂದು ವ್ಯವಹಾರಿಕ ರೆಫರೆನ್ಸ್ ಅನ್ನು ಪರಿಹರಿಸುತ್ತದೆ (resolves).
ಬಳಕೆದಾರರು ಒಂದು ಉತ್ಪನ್ನವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದಾಗ, ಅಪ್ಲಿಕೇಶನ್ಗೆ ಕೇವಲ ProductId ಮಾತ್ರ ಸಾಲದು. ಅದಕ್ಕೆ ಘಟಕದ ಬೆಲೆ (unit price), VAT ದರ ಮತ್ತು ಅಳತೆಯ ಘಟಕದ (unit of measure) ಅಗತ್ಯವಿರುತ್ತದೆ.
ಲೋಕೇಟರ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಂದರ್ಭದಲ್ಲಿ (context) ರೆಫರೆನ್ಸ್ ಅನ್ನು ಪರಿಹರಿಸುವ ಮೂಲಕ ಇವೆಲ್ಲವನ್ನೂ ಒದಗಿಸುತ್ತದೆ.
UI ಬದಲಾಗಬಹುದು:
- ಡೆಸ್ಕ್ಟಾಪ್ನಲ್ಲಿ, ಇದು ಎರಡು ಹುಡುಕಬಹುದಾದ ಫೀಲ್ಡ್ಗಳಂತೆ ಕಾಣುತ್ತದೆ.
- ಗ್ರಿಡ್ನಲ್ಲಿ (grid), ಇದು ಕಸ್ಟಮ್ ಎಡಿಟರ್ನಂತೆ ಕಾಣುತ್ತದೆ.
- ಮೊಬೈಲ್ನಲ್ಲಿ, ಇದು ಸರ್ಚ್ ಸ್ಕ್ರೀನ್ನಂತೆ ಕಾಣುತ್ತದೆ.
ಕಾಣುವ ರೀತಿ ಬದಲಾಗಬಹುದು, ಆದರೆ ಅದರ ವರ್ತನೆ (behavior) ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ಒಳ್ಳೆಯ ಲೋಕೇಟರ್ ಬಳಕೆದಾರರನ್ನು ಗೌರವಿಸುತ್ತದೆ. ಅನುಭವಿ ಬಳಕೆದಾರರು ಕೀಬೋರ್ಡ್ ಬಳಸುತ್ತಾರೆ. ಲೋಕೇಟರ್ ಒಂದು ವಿಶಿಷ್ಟವಾದ ಹೊಂದಾಣಿಕೆಯನ್ನು (unique match) ಕಂಡುಕೊಂಡರೆ ತಕ್ಷಣವೇ ಆಯ್ಕೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಬೇಕು. ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಹೊಂದಾಣಿಕೆಗಳಿದ್ದಾಗ ಮಾತ್ರ ಬಳಕೆದಾರನ ಬಳಿ ಆಯ್ಕೆಯನ್ನು ಕೇಳಬೇಕು.
ಸರ್ಚ್, ಆಟೋಕಂಪ್ಲೀಟ್ ಮತ್ತು ಪಾಪ್-ಅಪ್ಗಳನ್ನು ಸಂಬಂಧವಿಲ್ಲದ ವಿಜೆಟ್ಗಳೆಂದು ಪರಿಗಣಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ವ್ಯವಹಾರಿಕ ಸಾಫ್ಟ್ವೇರ್ಗೆ ಲೋಕೇಟರ್ (Locator) ಎಂಬುದು ಒಂದು ಮೂಲಭೂತ ಪರಿಕಲ್ಪನೆ ಎಂಬುದನ್ನು ಅರಿತುಕೊಳ್ಳಿ.
