මොඩියුල රටාව මුලින් අර්ථ දැක්වුනේ සාම්ප්රදායික මෘදුකාංග ඉංජිනේරු විද්යාවේ පන්ති සඳහා පුද්ගලික හා පොදු සංවර්ධනය සැපයීමේ ක්රමයක් ලෙස ය.
මොඩියුල රටාව සමඟ වැඩ කරන විට, එය ආරම්භ කිරීම සඳහා අප භාවිතා කරන සරල අච්චුවක් නිර්වචනය කිරීම අපට ප්රයෝජනවත් විය හැකිය. මෙන්න නම-පරතරය, රාජ්ය සහ පෞද්ගලික විචල්යයන් ආවරණය කරන එකක්.
ජාවාස්ක්රිප්ට් හි, මොඩියුල රටාව භාවිතා කරනුයේ පන්ති පිළිබඳ සංකල්පය තවදුරටත් අනුකරණය කිරීමට ය. එමඟින් අපට පොදු / පෞද්ගලික ක්රම සහ විචල්යයන් එකම වස්තුවක් තුළට ඇතුළත් කළ හැකි වන අතර එමඟින් විශේෂිත කොටස් ගෝලීය විෂය පථයෙන් ආරක්ෂා වේ. මෙහි ප්රති results ලය වනුයේ පිටුවේ ඇති අතිරේක ස්ක්රිප්ට් වල අර්ථ දක්වා ඇති අනෙකුත් ශ්රිත සමඟ ගැටෙන අපගේ ශ්රිත නාමවල සම්භාවිතාව අඩු කිරීමයි.
var myNamespace = (function () {
var myPrivateVar, myPrivateMethod;
// A private counter variable
myPrivateVar = 0;
// A private function which logs any arguments
myPrivateMethod = function( foo ) {
console.log( foo );
};
return {
// A public variable
myPublicVar: "foo",
// A public function utilizing privates
myPublicFunction: function( bar ) {
// Increment our private counter
myPrivateVar++;
// Call our private method using bar
myPrivateMethod( bar );
}
};
})();
වාසි
මොඩියුල රටාව හොඳ තේරීමක් වන්නේ ඇයි? ආරම්භකයින් සඳහා, අවම වශයෙන් ජාවාස්ක්රිප්ට් දෘෂ්ටිකෝණයකින් වුවද, සත්ය සංසරණය පිළිබඳ අදහසට වඩා වස්තු-නැඹුරු පසුබිමකින් පැමිණෙන සංවර්ධකයින් සඳහා එය පිරිසිදු ය.
දෙවනුව, එය පුද්ගලික දත්ත සඳහා සහය දක්වයි - එබැවින්, මොඩියුලයේ රටාව තුළ, අපගේ කේතයේ පොදු කොටස් පුද්ගලික කොටස් ස්පර්ශ කිරීමට සමත් වේ, කෙසේ වෙතත් බාහිර ලෝකයට පන්තියේ පුද්ගලික කොටස් ස්පර්ශ කිරීමට නොහැකි වේ.
අවාසි
මොඩියුලයේ රටාවේ අවාසි නම්, අපි රාජ්ය හා පෞද්ගලික සාමාජිකයින්ට වෙනස් ආකාරයකින් ප්රවේශ වන විට, දෘශ්යතාව වෙනස් කිරීමට අපේක්ෂා කරන විට, ඇත්ත වශයෙන්ම සාමාජිකයා භාවිතා කළ සෑම ස්ථානයකම වෙනස්කම් සිදු කළ යුතුය.
පසුකාලීනව වස්තුවට එකතු කරන ක්රම මඟින් අපට පුද්ගලික සාමාජිකයින්ට ප්රවේශ විය නොහැක . බොහෝ අවස්ථාවන්හීදී මොඩියුල රටාව තවමත් බෙහෙවින් ප්රයෝජනවත් වන අතර නිවැරදිව භාවිතා කරන විට අපගේ යෙදුමේ ව්යුහය වැඩි දියුණු කිරීමේ හැකියාව ඇත.
හෙළිදරව් කිරීමේ මොඩියුල රටාව
දැන් අපි මොඩියුල රටාව ගැන මඳක් හුරුපුරුදු බැවින්, තරමක් වැඩිදියුණු කළ අනුවාදයක් දෙස බලමු - ක්රිස්ටියන් හෙල්මන්ගේ හෙළිදරව් කිරීමේ මොඩියුල රටාව.
හෙළිදරව් කිරීමේ මොඩියුල රටාව ඇති වූයේ, අපට එක් පොදු ක්රමයක් වෙනත් ස්ථානයකින් ඇමතීමට හෝ පොදු විචල්යයන්ට ප්රවේශ වීමට අවශ්ය වූ විට ප්රධාන වස්තුවේ නම පුනරාවර්තනය කිරීමට සිදුවීම ගැන හෙල්මන් කලකිරීමට පත්වීමෙනි. මොඩියුලයේ රටාවේ අවශ්යතාවය ඔහු අකමැති විය. ඔහු ප්රසිද්ධ කිරීමට අදහස් කළ දේවල් සඳහා වචනාර්ථයෙන් අංකනය කිරීමට විරුද්ධ වීම.
ඔහුගේ උත්සාහයේ ප්රති result ලය යාවත්කාලීන කරන ලද රටාවක් වන අතර, අපගේ සියලු කාර්යයන් සහ විචල්යයන් පුද්ගලික විෂය පථය තුළ සරලව නිර්වචනය කර, අප විසින් ප්රසිද්ධියේ හෙළි කිරීමට බලාපොරොත්තු වූ පුද්ගලික ක්රියාකාරිත්වයට දර්ශකයන් සහිත නිර්නාමික වස්තුවක් නැවත ලබා දෙන්නෙමු.
හෙළිදරව් කිරීමේ මොඩියුල රටාව භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ උදාහරණයක් පහත දැක්වේ
var myRevealingModule = (function () {
var privateVar = "Ben Cherry",
publicVar = "Hey there!";
function privateFunction() {
console.log( "Name:" + privateVar );
}
function publicSetName( strName ) {
privateVar = strName;
}
function publicGetName() {
privateFunction();
}
// Reveal public pointers to
// private functions and properties
return {
setName: publicSetName,
greeting: publicVar,
getName: publicGetName
};
})();
myRevealingModule.setName( "Paul Kinlan" );
වාසි
මෙම රටාව අපගේ ස්ක්රිප්ට් වල වාක්ය ඛණ්ඩය වඩාත් අනුකූල වීමට ඉඩ දෙයි. අපගේ මොඩියුලය අවසානයේ දී කියවිය හැකි පහසුව සලසන අපගේ කාර්යයන් සහ විචල්යයන් ප්රසිද්ධියේ ප්රවේශ කළ හැකි දේ ද එය වඩාත් පැහැදිලි කරයි.
අවාසි
මෙම රටාවේ අවාසියක් නම්, පුද්ගලික ශ්රිතයක් පොදු ශ්රිතයක් ගැන සඳහන් කරන්නේ නම්, පැච් එකක් අවශ්ය නම් එම පොදු කාර්යය අභිබවා යා නොහැක. මෙයට හේතුව පුද්ගලික ශ්රිතය පුද්ගලික ක්රියාත්මක කිරීම වෙත යොමු වන අතර රටාව මහජන සාමාජිකයින්ට අදාළ නොවන අතර කාර්යයන් සඳහා පමණි.
පුද්ගලික විචල්යයන් වෙත යොමු වන පොදු වස්තු සාමාජිකයින් ද ඉහත සඳහන් කළ රීති සටහන් වලට යටත් නොවේ.