AngularJS এর module.constant
স্ট্যান্ডার্ড অর্থে একটি ধ্রুবককে সংজ্ঞায়িত করে না।
সরবরাহকারীর নিবন্ধকরণ প্রক্রিয়া হিসাবে এটি নিজেরাই দাঁড়িয়ে থাকলেও সম্পর্কিত module.value
( $provide.value
) ফাংশনের প্রসঙ্গে এটি ভালভাবে বোঝা যায় । অফিসিয়াল ডকুমেন্টেশন ব্যবহারের ক্ষেত্রে পরিষ্কারভাবে বলেছে:
$ ইনজেক্টর সহ একটি মান পরিষেবা নিবন্ধ করুন, যেমন স্ট্রিং, একটি সংখ্যা, একটি অ্যারে, কোনও বস্তু বা কোনও ফাংশন। এটি এমন কোনও পরিষেবার নিবন্ধনের জন্য সংক্ষিপ্ত যেখানে এর সরবরাহকারীর $ সম্পত্তি পাওয়া একটি কারখানা ফাংশন যা কোনও যুক্তি গ্রহণ করে না এবং মান পরিষেবাটি ফেরত দেয়। এর অর্থ হ'ল অন্যান্য পরিষেবাদি কোনও মান পরিষেবাতে ইনজেক্ট করা সম্ভব নয়।
module.constant
( $provide.constant
) এর জন্য ডকুমেন্টেশনের সাথে এটির তুলনা করুন যা ব্যবহারের ক্ষেত্রে (জোর দিয়ে খনি) স্পষ্টভাবে জানিয়েছে:
$ ইনজেক্টরের সাথে একটি ধ্রুবক পরিষেবা নিবন্ধ করুন, যেমন স্ট্রিং, সংখ্যা, একটি অ্যারে, কোনও বস্তু বা কোনও ফাংশন। মানটির মতো, অন্যান্য পরিষেবাদিগুলিকে ধ্রুবক হিসাবে ইনজেক্ট করা সম্ভব নয়। তবে মানটির বিপরীতে, একটি ধ্রুবককে একটি মডিউল কনফিগারেশন ফাংশনে ইনজেকশন করা যায় (দেখুন কৌণিক.মডিউল) এবং এটি কোনও কৌণিক জেএস ডেকরেটর দ্বারা ওভাররাইড করা যায় না ।
সুতরাং, AngularJS constant
ফাংশনটি ক্ষেত্রের শব্দটির সাধারণ বোঝা যায় এমন অর্থের মধ্যে একটি ধ্রুবক সরবরাহ করে না।
এটি বলেছিল যে সরবরাহকৃত অবজেক্টের উপর the ইনজেক্টরের মাধ্যমে পূর্বের প্রাপ্যতার সাথে একত্রিত হওয়া বিধিনিষেধগুলি পরিষ্কারভাবে প্রস্তাব দেয় যে নামটি সাদৃশ্য দ্বারা ব্যবহৃত হয়েছে।
আপনি যদি একটি কৌণিক জেএস অ্যাপ্লিকেশনটিতে সত্যিকারের ধ্রুবক চেয়েছিলেন, আপনি যে কোনও জাভাস্ক্রিপ্ট প্রোগ্রামে যা করেছেন ঠিক তেমনই একটি "সরবরাহ" করতেন is
export const π = 3.14159265;
কৌণিক 2 এ, একই কৌশল প্রযোজ্য।
কৌণিক 2 অ্যাপ্লিকেশনগুলির ক্ষেত্রে কৌণিক জেএস অ্যাপ্লিকেশনগুলির অনুরূপ কোনও কনফিগারেশন পর্ব নেই। তদ্ব্যতীত, কোনও পরিষেবা সাজসজ্জার ব্যবস্থা নেই ( AngularJS ডেকোরেটর ) তবে তারা একে অপরের থেকে কতটা পৃথক, তা দেওয়া বিশেষত অবাক হওয়ার মতো নয়।
এর উদাহরণ
angular
.module('mainApp.config', [])
.constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/');
অস্পষ্টভাবে নির্বিচারে এবং সামান্য অফ-পপিং কারণ ঘটনাক্রমে এছাড়াও একটি ধ্রুবক $provide.constant
যে কোনও বস্তু নির্দিষ্ট করতে ব্যবহৃত হচ্ছে । আপনি পাশাপাশি লিখতে পারে
export const apiEndpoint = 'http://127.0.0.1:6666/api/';
সবার জন্য হয় পরিবর্তন করতে পারেন।
টেস্টিবিলিটির পক্ষে যুক্তি, ধ্রুবকটিকে উপহাস করে হ্রাস করা হয় কারণ এটি আক্ষরিকভাবে পরিবর্তিত হয় না।
কেউ উপহাস করে না π
অবশ্যই আপনার অ্যাপ্লিকেশন সুনির্দিষ্ট শব্দার্থবিজ্ঞান হতে পারে যে আপনার শেষ পয়েন্টটি পরিবর্তিত হতে পারে, বা আপনার এপিআই-তে স্বচ্ছ-ব্যর্থতা প্রক্রিয়া থাকতে পারে, তাই এপিআই শেষ পয়েন্টটি নির্দিষ্ট পরিস্থিতিতে পরিবর্তন করা যুক্তিসঙ্গত হবে।
তবে সেক্ষেত্রে এটিকে constant
ফাংশনে একটি একক URL এর স্ট্রিং আক্ষরিক উপস্থাপন হিসাবে সরবরাহ করা কাজ করবে না।
আরও ভাল যুক্তি, এবং সম্ভবত আরও একটি অ্যাঙ্গুলারজেএস $provide.constant
ফাংশনটির অস্তিত্বের কারণের সাথে একত্রিত হয় , যখন অ্যাংুলারজেএস চালু হয়েছিল, জাভাস্ক্রিপ্টটির কোনও মানক মডিউল ধারণা ছিল না । সেক্ষেত্রে গ্লোবালগুলি মানগুলি ভাগ করতে ব্যবহৃত হবে, পরিবর্তনীয় বা অপরিবর্তনীয় এবং গ্লোবালগুলি ব্যবহার করা সমস্যাযুক্ত।
এটি বলেছিল, একটি ফ্রেমওয়ার্কের মাধ্যমে এরকম কিছু সরবরাহ করা সেই কাঠামোর সাথে সংযুক্তি বাড়িয়ে তোলে। এটি কৌনিক নির্দিষ্ট যুক্তিকে যুক্তির সাথেও মিশ্রিত করে যা অন্য কোনও সিস্টেমে কাজ করবে।
এটি এটি একটি ভুল বা ক্ষতিকারক পদ্ধতির বলার নয়, তবে ব্যক্তিগতভাবে, আমি যদি কৌনিক 2 অ্যাপ্লিকেশনটিতে ধ্রুবক চাই , আমি লিখব
export const π = 3.14159265;
আমি যেমন ছিলাম ঠিক তেমনই আমি AngularJS ব্যবহার করছিলাম।
আরও জিনিস পরিবর্তন ...
AppSettings
ক্লাসটি বিমূর্তAPI_ENDPOINT
হওয়া উচিত এবং সদস্য হওয়া উচিতreadonly
।