Loose coupling
ಕಂಪ್ಯೂಟಿಂಗ್ ಮತ್ತು ವ್ಯವಸ್ಥೆಗಳ ವಿನ್ಯಾಸದಲ್ಲಿ, ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ವ್ಯವಸ್ಥೆಯು ಘಟಕಗಳು ಒಂದಕ್ಕೊಂದು ದುರ್ಬಲವಾಗಿ ಸಂಬಂಧಿಸಿರುವ (ಒಡೆಯಬಹುದಾದ ಸಂಬಂಧಗಳನ್ನು ಹೊಂದಿರುವ) ವ್ಯವಸ್ಥೆಯಾಗಿದೆ ಮತ್ತು ಹೀಗಾಗಿ ಒಂದು ಘಟಕದಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಮತ್ತೊಂದು ಅಂಶದ ಅಸ್ತಿತ್ವ ಅಥವಾ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಕನಿಷ್ಠ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ. ಇದರಲ್ಲಿ ಅದರ ಪ್ರತಿಯೊಂದು ಘಟಕಗಳು ಇತರ ಪ್ರತ್ಯೇಕ ಘಟಕಗಳ ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ಕಡಿಮೆ ಅಥವಾ ಯಾವುದೇ ಜ್ಞಾನವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ ಅಥವಾ ಬಳಸುವುದಿಲ್ಲ. ಉಪಕ್ಷೇತ್ರಗಳು ವರ್ಗಗಳು, ಸಂಪರ್ಕಸಾಧನಗಳು, ದತ್ತಾಂಶ ಮತ್ತು ಸೇವೆಗಳ ಸಂಯೋಜನೆಯನ್ನು ಒಳಗೊಂಡಿವೆ. ಸಡಿಲವಾದ ಜೋಡಣೆಯು ಬಿಗಿಯಾದ ಜೋಡಣೆಗೆ ವಿರುದ್ಧವಾಗಿದೆ. ಅನುಕೂಲಗಳು ಮತ್ತು ಅನಾನುಕೂಲಗಳು ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಘಟಕಗಳನ್ನು ಅದೇ ಸೇವೆಗಳನ್ನು ಒದಗಿಸುವ ಪರ್ಯಾಯ ಅನುಷ್ಠಾನಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು. ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಘಟಕಗಳು ಒಂದೇ ವೇದಿಕೆ, ಭಾಷೆ, ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆ ಅಥವಾ ಪರಿಸರವನ್ನು ನಿರ್ಮಿಸಲು ಕಡಿಮೆ ನಿರ್ಬಂಧಿತವಾಗಿರುತ್ತವೆ. ಸಮಯಕ್ಕೆ ಸರಿಯಾಗಿ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬೇರ್ಪಡಿಸಿದರೆ, ವಹಿವಾಟಿನ ಸಮಗ್ರತೆಯನ್ನು ಒದಗಿಸುವುದು ಸಹ ಕಷ್ಟವಾಗುತ್ತದೆ; ಹೆಚ್ಚುವರಿ ಸಮನ್ವಯ ಶಿಷ್ಟಾಚಾರಗಳು ಬೇಕಾಗುತ್ತವೆ. ವಿವಿಧ ವ್ಯವಸ್ಥೆಗಳಾದ್ಯಂತ ದತ್ತಾಂಶ ಪುನರಾವರ್ತನೆಯು ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ (ಲಭ್ಯತೆಯಲ್ಲಿ), ಆದರೆ ಸ್ಥಿರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ (ದತ್ತಾಂಶ ಸಿಂಕ್ರೊನೈಸೇಶನ್). ಏಕೀಕರಣದಲ್ಲಿ, ವಿಶಾಲವಾದ ವಿತರಣಾ ವ್ಯವಸ್ಥೆಯ ವಿನ್ಯಾಸದಲ್ಲಿ ಲೂಸ್ ಕಪ್ಲಿಂಗ್ ಅನ್ನು ವಹಿವಾಟುಗಳ ಬಳಕೆ, ಸಂದೇಶ-ಆಧಾರಿತ ಮಿಡಲ್ವೇರ್ ಒದಗಿಸಿದ ಸಾಲುಗಳು ಮತ್ತು ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯತೆಯ ಮಾನದಂಡಗಳಿಂದ ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಉತ್ತೇಜಿಸುವ ನಾಲ್ಕು ರೀತಿಯ ಸ್ವಾಯತ್ತತೆಗಳೆಂದರೆಃ ಉಲ್ಲೇಖ ಸ್ವಾಯತ್ತತೆ, ಸಮಯ ಸ್ವಾಯತ್ತತೆ, ಸ್ವರೂಪ ಸ್ವಾಯತ್ತತೆ ಮತ್ತು ವೇದಿಕೆ ಸ್ವಾಯತ್ತತೆ. ಲೂಸ್ ಕಪ್ಲಿಂಗ್ ಎಂಬುದು ಸೇವಾ-ಆಧಾರಿತ ವಿನ್ಯಾಸಗಳಲ್ಲಿ ವಾಸ್ತುಶಿಲ್ಪದ ತತ್ವ ಮತ್ತು ವಿನ್ಯಾಸದ ಗುರಿಯಾಗಿದೆ; ಮಧ್ಯವರ್ತಿಯ ಮೂಲಕ ಭೌತಿಕ ಸಂಪರ್ಕಗಳು, ಅಸಿಂಕ್ರೋನಸ್ ಸಂವಹನ ಶೈಲಿ, ದತ್ತಾಂಶ ಮಾದರಿಯಲ್ಲಿ ಮಾತ್ರ ಸಾಮಾನ್ಯ ಪ್ರಕಾರಗಳು, ದುರ್ಬಲ ಪ್ರಕಾರದ ವ್ಯವಸ್ಥೆ, ದತ್ತಾಂಶ-ಕೇಂದ್ರಿತ ಮತ್ತು ಸ್ವಯಂ-ಒಳಗೊಂಡಿರುವ ಸಂದೇಶಗಳು, ಪ್ರಕ್ರಿಯೆಯ ತರ್ಕದ ವಿತರಣಾ ನಿಯಂತ್ರಣ, ಕ್ರಿಯಾತ್ಮಕ ಬಂಧಿಸುವಿಕೆ (ಸೇವಾ ಗ್ರಾಹಕರು ಮತ್ತು ಪೂರೈಕೆದಾರರ), ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸ್ವಾತಂತ್ರ್ಯ, ಸಿಸ್ಟಮ್-ಮಟ್ಟದ ವಹಿವಾಟುಗಳಿಗಿಂತ ವ್ಯಾಪಾರ-ಮಟ್ಟದ ಪರಿಹಾರ, ವಿವಿಧ ಸಮಯಗಳಲ್ಲಿ ನಿಯೋಜನೆ, ಆವೃತ್ತಿಯಲ್ಲಿ ಸೂಚ್ಯ ನವೀಕರಣಗಳು. ಅನೇಕ ಆಯಾಮಗಳಲ್ಲಿ ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಸಾಧಿಸಲು ಎಂಟರ್ಪ್ರೈಸ್ ಸರ್ವೀಸ್ ಬಸ್ (ಇಎಸ್ಬಿ) ಮಿಡಲ್ವೇರ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಯಿತು; ಆದಾಗ್ಯೂ, ಅತಿಯಾದ ಎಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ತಪ್ಪಾದ ಸ್ಥಾನದಲ್ಲಿರುವ ಇಎಸ್ಬಿಗಳು ಸಹ ವ್ಯತಿರಿಕ್ತ ಪರಿಣಾಮವನ್ನು ಬೀರಬಹುದು ಮತ್ತು ಅನಪೇಕ್ಷಿತ ಬಿಗಿಯಾದ ಜೋಡಣೆ ಮತ್ತು ಕೇಂದ್ರ ವಾಸ್ತುಶಿಲ್ಪದ ಹಾಟ್ಸ್ಪಾಟ್ ಅನ್ನು ರಚಿಸಬಹುದು. ಈವೆಂಟ್-ಚಾಲಿತ ವಾಸ್ತುಶಿಲ್ಪವು ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಉತ್ತೇಜಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಜೋಡಣೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವ ವಿಧಾನಗಳು ಇಂಟರ್ಫೇಸ್ಗಳ ಲೂಸ್ ಕಪ್ಲಿಂಗ್ ಅನ್ನು ಡೇಟಾವನ್ನು ಪ್ರಮಾಣಿತ ಸ್ವರೂಪದಲ್ಲಿ (ಎಕ್ಸ್ಎಂಎಲ್ ಅಥವಾ ಜೆಎಸ್ಒಎನ್ ನಂತಹ) ಪ್ರಕಟಿಸುವ ಮೂಲಕ ಹೆಚ್ಚಿಸಬಹುದು. ನಿಯತಾಂಕಗಳಲ್ಲಿ ಪ್ರಮಾಣಿತ ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ ಪ್ರೋಗ್ರಾಂ ಘಟಕಗಳ ನಡುವೆ ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಹೆಚ್ಚಿಸಬಹುದು. ಕಸ್ಟಮೈಸ್ ಮಾಡಿದ ಡೇಟಾ ಪ್ರಕಾರಗಳು ಅಥವಾ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರವಾನಿಸಲು ಎರಡೂ ಘಟಕಗಳು ಕಸ್ಟಮ್ ಡೇಟಾ ವ್ಯಾಖ್ಯಾನದ ಜ್ಞಾನವನ್ನು ಹೊಂದಿರಬೇಕು. ಪ್ರಮುಖ ದತ್ತಾಂಶಕ್ಕೆ ಸೇವೆಗೆ ರವಾನೆಯಾಗುವ ಮಾಹಿತಿಯನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ಸೇವೆಗಳ ಸಡಿಲವಾದ ಜೋಡಣೆಯನ್ನು ಹೆಚ್ಚಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಗ್ರಾಹಕ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಮಾತ್ರ ರವಾನಿಸಿದಾಗ ಮತ್ತು ಸೇವೆಯೊಳಗೆ ಗ್ರಾಹಕ ವಿಳಾಸವನ್ನು ಪಡೆದಾಗ ಪತ್ರವನ್ನು ಕಳುಹಿಸುವ ಸೇವೆಯನ್ನು ಹೆಚ್ಚು ಮರುಬಳಕೆ ಮಾಡಬಹುದು. ಇದು ಸೇವೆಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ ಏಕೆಂದರೆ ಸೇವೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ ಕರೆಯುವ ಅಗತ್ಯವಿಲ್ಲ (ಉದಾಹರಣೆಗೆ. ಗ್ರಾಹಕ ವಿಳಾಸ ಪಡೆಯಿರಿ, ಕಳುಹಿಸಿ). ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಪ್ಲಿಂಗ್ನಲ್ಲಿ ಒಂದು ಘಟಕವು ಇನ್ನೊಂದನ್ನು ಹೊಂದಿರುವ ನೇರ ಜ್ಞಾನದ ಮಟ್ಟವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಕಂಪ್ಯೂಟಿಂಗ್ನಲ್ಲಿ ಲೂಸ್ ಕಪ್ಲಿಂಗ್ ಅನ್ನು ಎನ್ಕ್ಯಾಪ್ಸುಲೇಷನ್ ವರ್ಸಸ್ ನಾನ್-ಎನ್ಕ್ಯಾಪ್ಸುಲೇಷನ್ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ. ಅವಲಂಬಿತ ವರ್ಗವು ಅಗತ್ಯವಿರುವ ನಡವಳಿಕೆಯನ್ನು ಒದಗಿಸುವ ಕಾಂಕ್ರೀಟ್ ವರ್ಗಕ್ಕೆ ನೇರವಾಗಿ ಪಾಯಿಂಟರ್ ಅನ್ನು ಹೊಂದಿರುವಾಗ ಬಿಗಿಯಾದ ಜೋಡಣೆಯ ಉದಾಹರಣೆ ಸಂಭವಿಸುತ್ತದೆ. ಅವಲಂಬಿತ ವರ್ಗಕ್ಕೆ ಬದಲಾವಣೆಯ ಅಗತ್ಯವಿಲ್ಲದೇ ಅವಲಂಬನೆಯನ್ನು ಬದಲಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಅದರ "ಸಹಿ" ಯನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ. ಅವಲಂಬಿತ ವರ್ಗವು ಇಂಟರ್ಫೇಸ್ಗೆ ಮಾತ್ರ ಪಾಯಿಂಟರ್ ಅನ್ನು ಹೊಂದಿರುವಾಗ ಲೂಸ್ ಕಪ್ಲಿಂಗ್ ಸಂಭವಿಸುತ್ತದೆ, ಅದನ್ನು ನಂತರ ಒಂದು ಅಥವಾ ಅನೇಕ ಕಾಂಕ್ರೀಟ್ ವರ್ಗಗಳು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ಇದನ್ನು ಅವಲಂಬನೆ ವಿಲೋಮ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಅವಲಂಬಿತ ವರ್ಗದ ಅವಲಂಬನೆಯು ಇಂಟರ್ಫೇಸ್ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ "ಒಪ್ಪಂದ" ಕ್ಕೆ ಸಂಬಂಧಿಸಿದೆ; ವರ್ಗಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ವಿಧಾನಗಳು ಮತ್ತು/ಅಥವಾ ಗುಣಲಕ್ಷಣಗಳ ಒಂದು ನಿರ್ದಿಷ್ಟ ಪಟ್ಟಿಯನ್ನು ಒದಗಿಸಬೇಕು. ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಯಾವುದೇ ವರ್ಗವು ವರ್ಗವನ್ನು ಬದಲಾಯಿಸದೆ ಅವಲಂಬಿತ ವರ್ಗದ ಅವಲಂಬನೆಯನ್ನು ತೃಪ್ತಿಪಡಿಸಬಹುದು. ಇದು ತಂತ್ರಾಂಶ ವಿನ್ಯಾಸದಲ್ಲಿ ವಿಸ್ತರಣೆಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ; ಅವಲಂಬಿತ ವರ್ಗಕ್ಕೆ ಬದಲಾವಣೆಯ ಅಗತ್ಯವಿಲ್ಲದೇ, ಕೆಲವು ಅಥವಾ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಲ್ಲಿ ಪ್ರಸ್ತುತ ಅವಲಂಬನೆಯನ್ನು ಬದಲಿಸಲು ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಹೊಸ ವರ್ಗವನ್ನು ಬರೆಯಬಹುದು; ಹೊಸ ಮತ್ತು ಹಳೆಯ ವರ್ಗಗಳನ್ನು ಮುಕ್ತವಾಗಿ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಬಹುದು. ಬಲವಾದ ಜೋಡಣೆಯು ಇದಕ್ಕೆ ಅವಕಾಶ ನೀಡುವುದಿಲ್ಲ. ಇದು ಅವಲಂಬಿತ ವರ್ಗ ಮತ್ತು ಕಾಂಕ್ರೀಟ್ ವರ್ಗಗಳ ಗುಂಪಿನ ನಡುವಿನ ಸಡಿಲವಾದ ಜೋಡಣೆಯ ಉದಾಹರಣೆಯನ್ನು ವಿವರಿಸುವ ಯುಎಂಎಲ್ ರೇಖಾಚಿತ್ರವಾಗಿದೆ, ಇದು ಅಗತ್ಯವಾದ ನಡವಳಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆಃ ಹೋಲಿಕೆಗಾಗಿ, ಈ ರೇಖಾಚಿತ್ರವು ಅವಲಂಬಿತ ವರ್ಗ ಮತ್ತು ಪೂರೈಕೆದಾರರ ನಡುವಿನ ಬಲವಾದ ಜೋಡಣೆಯೊಂದಿಗೆ ಪರ್ಯಾಯ ವಿನ್ಯಾಸವನ್ನು ವಿವರಿಸುತ್ತದೆಃ ಇತರ ರೂಪಗಳು ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಎರಡೂ ಕಾರ್ಯಗಳನ್ನು ಕೋರ್ ಮಾಡ್ಯೂಲ್ (ಕ್ರಿಯಾತ್ಮಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ನೋಡಿ) ಅಥವಾ ಕಾರ್ಯಗಳನ್ನು ಆಬ್ಜೆಕ್ಟ್ಗಳಾಗಿ ಕಲ್ಪನೆಗಳನ್ನು ಹೊಂದಿದ್ದು ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗೆ ಅತ್ಯುತ್ತಮ ಉದಾಹರಣೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕ್ರಿಯಾತ್ಮಕ ಭಾಷೆಗಳು ಮುಂದುವರಿಕೆ, ಮುಚ್ಚುವಿಕೆ ಅಥವಾ ಉತ್ಪಾದಕಗಳ ಮಾದರಿಗಳನ್ನು ಹೊಂದಿವೆ. ಫಂಕ್ಷನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ ಉದಾಹರಣೆಗಳಾಗಿ ಕ್ಲೋಜೂರ್ ಮತ್ತು ಲಿಸ್ಪ್ ಅನ್ನು ನೋಡಿ. ಸ್ಮಾಲ್ಟಾಕ್ ಮತ್ತು ರೂಬಿಗಳಂತಹ ಆಬ್ಜೆಕ್ಟ್-ಆಧಾರಿತ ಭಾಷೆಗಳು ಕೋಡ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಐಫೆಲ್ ಏಜೆಂಟ್ಗಳನ್ನು ಹೊಂದಿದೆ. ಯಾವುದೇ ಇತರ ಸುತ್ತುವರಿದ ಪರಿಕಲ್ಪನೆಯಿಂದ ಸ್ವತಂತ್ರವಾದ ಕಾರ್ಯವನ್ನು ವಸ್ತುನಿಷ್ಠಗೊಳಿಸುವುದು (ವಸ್ತುವಾಗಿ ಸುತ್ತುವರಿಯುವುದು) ಇದರ ಮೂಲ ಉದ್ದೇಶವಾಗಿದೆ (ಉದಾಹರಣೆಗೆ. ಸುತ್ತುವರಿದಿರುವ ವಸ್ತುವಿನ ಯಾವುದೇ ನೇರ ಜ್ಞಾನದಿಂದ ವಸ್ತುವಿನ ಕಾರ್ಯವನ್ನು ಬೇರ್ಪಡಿಸುವುದು). ವಸ್ತುಗಳಾಗಿ ಕಾರ್ಯಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಒಳನೋಟಕ್ಕಾಗಿ ಪ್ರಥಮ ದರ್ಜೆ ಕಾರ್ಯವನ್ನು ನೋಡಿ, ಇದು ಪ್ರಥಮ ದರ್ಜೆ ಕಾರ್ಯದ ಒಂದು ರೂಪವೆಂದು ಅರ್ಹತೆ ಪಡೆದಿದೆ. ಆದ್ದರಿಂದ, ಉದಾಹರಣೆಗೆ, ವಸ್ತು-ಆಧಾರಿತ ಭಾಷೆಯಲ್ಲಿ, ಒಂದು ವಸ್ತುವಿನ ಕಾರ್ಯವನ್ನು ಒಂದು ವಸ್ತು ಎಂದು ಉಲ್ಲೇಖಿಸಿದಾಗ (ಅದರ ಸುತ್ತುವರಿದ ಆತಿಥೇಯ ವಸ್ತುವಿನ ಬಗ್ಗೆ ಯಾವುದೇ ಜ್ಞಾನವನ್ನು ಹೊಂದುವುದರಿಂದ ಅದನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ) ಹೊಸ ಕಾರ್ಯ ವಸ್ತುವನ್ನು ರವಾನಿಸಬಹುದು, ಸಂಗ್ರಹಿಸಬಹುದು ಮತ್ತು ನಂತರ ಕರೆಯಬಹುದು. ಸ್ವೀಕರಿಸುವ ವಸ್ತುಗಳು (ಯಾರಿಗೆ ಈ ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುಗಳನ್ನು ನೀಡಲಾಗಿದೆ) ಸುತ್ತುವರಿದ ಆತಿಥೇಯ ವಸ್ತುವಿನ ಯಾವುದೇ ನೇರ ಜ್ಞಾನವಿಲ್ಲದೆ ತಮ್ಮ ಅನುಕೂಲಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಒಳಗೊಂಡಿರುವ ಕಾರ್ಯವನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು (ಕರೆ ಮಾಡಬಹುದು). ಈ ರೀತಿಯಲ್ಲಿ, ಒಂದು ಪ್ರೋಗ್ರಾಂ ಸರಪಳಿಗಳು ಅಥವಾ ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುಗಳ ಗುಂಪುಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಆದರೆ ಸುತ್ತುವರಿದ ಆತಿಥೇಯ ವಸ್ತುವಿಗೆ ಯಾವುದೇ ನೇರ ಉಲ್ಲೇಖವನ್ನು ಹೊಂದಿರುವುದರಿಂದ ಸುರಕ್ಷಿತವಾಗಿ ಬೇರ್ಪಡಿಸಬಹುದು. ದೂರವಾಣಿ ಸಂಖ್ಯೆಗಳು ಅತ್ಯುತ್ತಮ ಅನಲಾಗ್ ಆಗಿದ್ದು, ಈ ಡೀಕಪ್ಲಿಂಗ್ನ ಮಟ್ಟವನ್ನು ಸುಲಭವಾಗಿ ವಿವರಿಸಬಹುದು. ಉದಾಹರಣೆಗೆಃ ಕೆಲವು ಘಟಕಗಳು ನಿರ್ದಿಷ್ಟ ಕೆಲಸವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಕರೆ ಮಾಡಲು ಇನ್ನೊಬ್ಬರಿಗೆ ದೂರವಾಣಿ ಸಂಖ್ಯೆಯನ್ನು ಒದಗಿಸುತ್ತವೆ. ಸಂಖ್ಯೆಗೆ ಕರೆ ಮಾಡಿದಾಗ, ಕರೆ ಮಾಡುವ ಘಟಕವು "ದಯವಿಟ್ಟು ನನಗಾಗಿ ಈ ಕೆಲಸವನ್ನು ಮಾಡಿ" ಎಂದು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹೇಳುತ್ತಿದೆ. ಡೀಕಪ್ಲಿಂಗ್ ಅಥವಾ ಸಡಿಲವಾದ ಜೋಡಣೆಯು ತಕ್ಷಣವೇ ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ. ಕರೆ ಮಾಡಲು ಸಂಖ್ಯೆಯನ್ನು ಸ್ವೀಕರಿಸುವ ವ್ಯಕ್ತಿಗೆ ಆ ಸಂಖ್ಯೆ ಎಲ್ಲಿಂದ ಬಂದಿದೆಯೆಂದು ತಿಳಿದಿಲ್ಲದಿರಬಹುದು (ಉದಾ. ಸಂಖ್ಯೆಯ ಪೂರೈಕೆದಾರರ ಉಲ್ಲೇಖ). ಮತ್ತೊಂದೆಡೆ, ಕರೆ ಮಾಡುವವರು ತಾವು ಯಾರಿಗೆ ಕರೆ ಮಾಡುತ್ತಿದ್ದೇವೆ, ಅವರು ಎಲ್ಲಿದ್ದಾರೆ ಮತ್ತು ಕರೆ ಸ್ವೀಕರಿಸುವವರು ಆಂತರಿಕವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಾರೆ ಎಂಬುದರ ನಿರ್ದಿಷ್ಟ ಜ್ಞಾನದಿಂದ ಬೇರ್ಪಡಿಸಲ್ಪಡುತ್ತಾರೆ. ಉದಾಹರಣೆಯನ್ನು ಒಂದು ಹೆಜ್ಜೆ ಮುಂದೆ ತೆಗೆದುಕೊಂಡು, ಕರೆ ಮಾಡಿದವರು ಕರೆ ಸ್ವೀಕರಿಸುವವರಿಗೆ, "ದಯವಿಟ್ಟು ನನಗಾಗಿ ಈ ಕೆಲಸವನ್ನು ಮಾಡಿ" ಎಂದು ಹೇಳಬಹುದು. ನಿಮ್ಮ ಕೆಲಸ ಮುಗಿದ ನಂತರ ನನಗೆ ಈ ಸಂಖ್ಯೆಗೆ ಕರೆ ಮಾಡಿ ". ಸ್ವೀಕರಿಸುವವರಿಗೆ ನೀಡಲಾಗುವ 'ಸಂಖ್ಯೆ' ಯನ್ನು 'ಕಾಲ್-ಬ್ಯಾಕ್' ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಮತ್ತೆ, ಈ ಕ್ರಿಯಾತ್ಮಕ ವಸ್ತುವಿನ ಸಡಿಲವಾದ ಜೋಡಣೆ ಅಥವಾ ಬೇರ್ಪಡಿಸಿದ ಸ್ವರೂಪವು ಸ್ಪಷ್ಟವಾಗಿದೆ. ಕರೆ-ಬ್ಯಾಕ್ ಸ್ವೀಕರಿಸುವವರಿಗೆ ಏನು ಅಥವಾ ಯಾರನ್ನು ಕರೆಯಲಾಗುತ್ತಿದೆ ಎಂಬುದರ ಬಗ್ಗೆ ತಿಳಿದಿರುವುದಿಲ್ಲ. ಅದು ಕರೆ ಮಾಡಬಹುದೆಂದು ಮಾತ್ರ ತಿಳಿದಿದೆ ಮತ್ತು ಯಾವಾಗ ಕರೆ ಮಾಡಬೇಕೆಂದು ಸ್ವತಃ ನಿರ್ಧರಿಸುತ್ತದೆ. ವಾಸ್ತವದಲ್ಲಿ, ಕರೆ-ಹಿಂತಿರುಗಿಸುವಿಕೆಯು ಮೊದಲನೆಯದಾಗಿ ಕರೆ-ಹಿಂತಿರುಗಿಸುವಿಕೆಯನ್ನು ಒದಗಿಸಿದ ವ್ಯಕ್ತಿಗೂ ಸಹ ಆಗದೇ ಇರಬಹುದು. ಈ ಮಟ್ಟದ ನಿರ್ದೇಶನವು ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸಾಧಿಸಲು ಫಂಕ್ಷನ್ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಅತ್ಯುತ್ತಮ ತಂತ್ರಜ್ಞಾನವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ. ಸಡಿಲವಾಗಿ ಜೋಡಿಸಲಾದ ಘಟಕಗಳ ನಡುವಿನ ಸಂವಹನವು ಉಲ್ಲೇಖಿತ ಅಸಿಂಕ್ರೊನಸ್ ಸಂವಹನ ಶೈಲಿ ಅಥವಾ ಸಿಂಕ್ರೊನಸ್ ಸಂದೇಶ ರವಾನೆ ಶೈಲಿ ಡೇಟಾ ಅಂಶ ಜೋಡಣೆಯನ್ನು ಅಳೆಯುವಂತಹ ಕಾರ್ಯವಿಧಾನಗಳ ಸಸ್ಯವನ್ನು ಆಧರಿಸಿರಬಹುದು. ಕಳುಹಿಸುವ ಅಥವಾ ಸ್ವೀಕರಿಸುವ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಸಂಭವಿಸಬಹುದಾದ ಡೇಟಾ ಅಂಶಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಗಮನಿಸುವ ಮೂಲಕ ಮತ್ತು ಕಂಪ್ಯೂಟರ್ಗಳು ಇನ್ನೂ ಸರಿಯಾಗಿ ಸಂವಹನವನ್ನು ಮುಂದುವರಿಸುತ್ತವೆಯೇ ಎಂದು ನಿರ್ಧರಿಸುವ ಮೂಲಕ ಸಡಿಲವಾದ ಜೋಡಣೆಯ ಮಟ್ಟವನ್ನು ಅಳೆಯಬಹುದು. ಈ ಬದಲಾವಣೆಗಳು ಈ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿವೆಃ ಸಂದೇಶಗಳಿಗೆ ಹೊಸ ದತ್ತಾಂಶ ಅಂಶಗಳನ್ನು ಸೇರಿಸುವುದು ದತ್ತಾಂಶ ಅಂಶಗಳ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸುವುದು ದತ್ತಾಂಶ ಅಂಶಗಳ ಹೆಸರುಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ದತ್ತಾಂಶ ಅಂಶಗಳ ರಚನೆಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ದತ್ತಾಂಶ ಅಂಶಗಳನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು ಕ್ಯಾಸ್ಕೇಡಿಂಗ್ ವೈಫಲ್ಯ ಒಗ್ಗಟ್ಟು (ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ) ಕನಸೆನ್ಸ್ (ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್) ಕಪ್ಲಿಂಗ್ (ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನ) ಎಂಟರ್ಪ್ರೈಸ್ ಸರ್ವೀಸ್ ಬಸ್ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ ಸೇವಾ-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪ (ಎಸ್ಬಿಎ) ಎಂಟರ್ಪ್ರೈಸ್ ಉಲ್ಲೇಖಗಳು ಅಪ್ಲಿಕೇಶನ್ ಏಕೀಕರಣ ಸೇವೆ-ಆಧಾರಿತ (ಬಿಸಿನೆಸ್ ಕಂಪ್ಯೂಟಿಂಗ್) ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತತ್ವಗಳು ಸಾಫ್ಟ್ವೇರ್ ಗುಣಮಟ್ಟ