আমি রেমো জানসেনের "শেখার টাইপস্ক্রিপ্ট" বইটি পড়ছি। একটি বিভাগে লেখক বর্ণনা করেছেন যে কীভাবে Model
ক্লাসটি তৈরি করা যায় সেগুলি সহ একটি খুব সাধারণ প্রুফ-অফ কনসেপ্ট এমভিসি কাঠামো তৈরি করা যায় এবং নিম্নলিখিতটি বলেছেন:
একটি মডেলকে যে ওয়েব পরিষেবায় গ্রাস করা হয় তার URL সরবরাহ করার প্রয়োজন রয়েছে। আমরা গ্রাহ্য হওয়া পরিষেবার URL টি সেট করতে মডেলসেটিংস নামে একটি শ্রেণি সাজসজ্জা ব্যবহার করতে যাচ্ছি। আমরা এর নির্মাণকারীর মাধ্যমে পরিষেবা URL ইনজেক্ট করতে পারলাম, তবে শ্রেণি নির্মাতার মাধ্যমে ডেটা (আচরণের বিপরীতে) ইনজেক্ট করা এটি একটি খারাপ অভ্যাস হিসাবে বিবেচিত হয় ।
আমি এই শেষ বাক্যটি বুঝতে পারি না। বিশেষত, "ডেটা ইনজেক্ট" করার অর্থ কী তা আমি বুঝতে পারি না। আমার কাছে মনে হয় যে জাভাস্ক্রিপ্ট ক্লাসে প্রায় সরলকরণের উদাহরণ ব্যবহার করে প্রায় সকল প্রবর্তনের মধ্যে ডেটাটি তার পরামিতিগুলির মাধ্যমে কনস্ট্রাক্টরের ("ইনজেকশন"?) প্রবর্তিত হয়? উদাহরণ স্বরূপ:
class Person {
constructor(name) {
this.name = name;
}
}
আমি অবশ্যই name
ডেটা হিসাবে বিবেচনা করি, আচরণ হিসাবে নয়, এবং এটি সার্বজনীন একটি নির্মাণকারী পরামিতি হিসাবে এই ধরণের উদাহরণে অন্তর্ভুক্ত করা হয়, এবং এটির খারাপ অভ্যাস বলে কোনও উল্লেখ নেই। আমি এইভাবে ধরে নিয়েছি যে উপরের উদ্ধৃতিতে আমি কিছু ভুল বুঝছি, তা হয় "ডেটা" বা "ইনজেকশন" বা অন্য কিছু দ্বারা বোঝানো।
আপনার উত্তরগুলিতে জাভাস্ক্রিপ্ট / টাইপস্ক্রিপ্টে কখন, কোথায়, কীভাবে এবং কীভাবে সজ্জকার ব্যবহার করবেন সেগুলির ব্যাখ্যা অন্তর্ভুক্ত থাকতে পারে, কারণ আমি দৃ strongly়ভাবে সন্দেহ করি যে ধারণাটি আমার সন্ধানের সাথে অন্তরঙ্গভাবে সংযুক্ত রয়েছে। যাইহোক, আরও গুরুত্বপূর্ণ, আমি আরও সাধারণভাবে বুঝতে চাই যে কোনও শ্রেণি নির্মাতার মাধ্যমে ডেটা ইনজেকশনের মাধ্যমে কী বোঝানো হয় এবং কেন এটি খারাপ।
উপরের উদ্ধৃতিটিতে আরও প্রসঙ্গ দেওয়ার জন্য, এই পরিস্থিতি: একটি Model
শ্রেণি তৈরি করা হয়েছে যা এই উদাহরণে স্টক এক্সচেঞ্জের মডেল তৈরি করতে ব্যবহৃত হবে, একটি নাসডাকের জন্য এবং একটি এনওয়াইএসইয়ের জন্য। প্রতিটি মডেলের জন্য ওয়েব পরিষেবা বা স্ট্যাটিক ডেটা ফাইলের পথ প্রয়োজন যা কাঁচা ডেটা সরবরাহ করবে। বইটিতে বলা হয়েছে যে কোনও তথ্যের জন্য একটি ডিজিটর ব্যবহার করা উচিত, কনস্ট্রাক্টর প্যারামিটারের পরিবর্তে, নিম্নলিখিতগুলির দিকে নিয়ে যাওয়া:
@ModelSettings("./data/nasdaq.json")
class NasdaqModel extends Model implements IModel {
constructor(metiator : IMediator) {
super(metiator);
}
...
}
আমি ঠিক বুঝতে পারছি না যে কেন আমি ডিজিটরের মাধ্যমে পরিষেবা ইউআরএল যুক্ত করা উচিত কেবল কনস্ট্রাক্টরের প্যারামিটার হিসাবে না eg
constructor(metiator : IMediator, serviceUrl : string) {...