পরিষেবা, নির্দেশিকা এবং মডিউল মধ্যে পার্থক্য কি?


151

আমি প্রচুর দস্তাবেজ পড়ছি এবং আমি আরও বিভ্রান্ত হয়ে পড়ছি। আমি মূলত একটি এর মধ্যে পার্থক্যটি বুঝতে পারি না

  • সেবা
  • নির্দেশ
  • মডিউল

আমি কাস্টম উপাদান অনেক দেখতে। কখনও কখনও তারা নির্দেশনা ব্যবহার করে, কখনও কখনও পরিষেবাগুলি। এটি সর্বদা একটি মডিউল দিয়ে শুরু হয়। এই তিন প্রকারের মধ্যে পার্থক্য কী এমন একটি উদাহরণ দিয়ে কেউ ব্যাখ্যা করতে পারেন?

উত্তর:


123

মডিউলটিকে অন্য অনেকগুলি জিনিস যেমন ওয়্যারেক্ট করার জন্য জায়গা হিসাবে বিবেচনা করুন, যেমন নির্দেশনা, পরিষেবা, ধ্রুবক ইত্যাদি Mod মডিউলগুলি আপনাকে অন্য স্তরগুলির পুনঃব্যবহারের একটি উচ্চ মাত্রা দেয় অন্য মডিউলগুলিতে ইনজেকশনের ব্যবস্থা করা যেতে পারে।

কৌণিক অ্যাপটি লেখার সময় আপনার কাছে একটি শীর্ষ স্তরের মডিউল থাকে যা আপনার অ্যাপ্লিকেশন কোড (টেম্পলেট ছাড়াই)।

পরিষেবাদিগুলি প্রধানত নিয়ন্ত্রকদের মধ্যে যোগাযোগের একটি উপায় তবে আপনি একটি পরিষেবা অন্যটিতে ইনজেক্ট করতে পারেন। পরিষেবাগুলি প্রায়শই আপনার ডেটা স্টোরগুলিতে যাওয়ার উপায় হিসাবে ব্যবহৃত হয় এবং লোকেরা কৌণিক এপিআই, যেমন এনজিআরসোর্সগুলিকে মোড়বে। এই কৌশলটি কার্যকর কারণ এটি পরীক্ষার (বিশেষত মশকরা) বেশ সহজ করে তোলে। প্রমাণীকরণ, লগিং ইত্যাদির মতো অন্যান্য কাজ করার জন্য আপনার পরিষেবা থাকতে পারে

নির্দেশাবলী উইজেট তৈরি করতে বা বিদ্যমান জিনিসগুলিকে জ্যাকুয়েরি প্লাগইনগুলি মোড়ানোর জন্য ব্যবহৃত হয়। বিদ্যমান প্লাগইনগুলি মোড়ানো একটি চ্যালেঞ্জ হতে পারে এবং আপনি এটি করার কারণটি হ'ল প্লাগইন এবং কৌণিকের মধ্যে দ্বি-মুখী ডেটা বাইন্ডিং স্থাপন করা। আপনার যদি দ্বি-মুখী ডেটা বাঁধাইয়ের দরকার না হয় তবে আপনার সেগুলি মোড়ানো দরকার নেই।

ডিওএম ম্যানিপুলেশন করার জন্য, ডিওএম-ইভেন্টগুলি ধরার জন্য একটি নির্দেশিকাও এমন একটি জায়গা যা আপনার নিয়ন্ত্রণকারী বা পরিষেবাদিতে ডোম-সম্পর্কিত জিনিসগুলি করা উচিত নয়। নির্দেশিকা তৈরি করা বেশ জটিল হতে পারে। আইএমএইচও, আমি প্রথমে এমন কিছু জন্য এপিআই দেখার পরামর্শ দিচ্ছি যা আপনি যা খুঁজছেন তা করতে পারে বা অ্যাংুলারের গুগল গ্রুপের কাছে পরামর্শের জন্য জিজ্ঞাসা করুন।


234

আমার নিজের ব্যক্তিগত নোটগুলি থেকে (বেশিরভাগ দস্তাবেজ, গুগল গ্রুপ পোস্ট এবং এসও পোস্টের স্নিপেট):

মডিউল

  • নেমস্পেস / গোষ্ঠী পরিষেবাদি, নির্দেশাবলী, ফিল্টার, কনফিগারেশন তথ্য এবং সূচনা কোডের একটি উপায় সরবরাহ করুন
  • গ্লোবাল ভেরিয়েবলগুলি এড়াতে সহায়তা করুন
  • $ ইনজেক্টর কনফিগার করতে ব্যবহার করা হয়, মডিউল দ্বারা নির্ধারিত জিনিসগুলি (বা পুরো মডিউল নিজেই) অন্য কোথাও ইনজেকশনের অনুমতি দেয় (নির্ভরতা ইনজেকশন স্টাফ)
  • কৌণিক মডিউলগুলি কমনজেএস বা প্রয়োজনীয়.জেএস সম্পর্কিত নয়। এএমডি বা প্রয়োজনীয়.জেএস মডিউলগুলির বিপরীতে, কৌণিক মডিউলগুলি স্ক্রিপ্ট লোড ক্রম বা অলস স্ক্রিপ্ট আনার সমস্যাটি সমাধান করার চেষ্টা করে না। এই লক্ষ্যগুলি অরথোগোনাল এবং উভয় মডিউল সিস্টেম পাশাপাশি থাকতে পারে এবং তাদের লক্ষ্যগুলি পূরণ করতে পারে (সুতরাং ডক্স দাবি করে)।

সেবা

  • সিঙ্গলেটস, সুতরাং প্রতিটি সংজ্ঞা দেওয়া আপনার পরিষেবার কেবলমাত্র একটি উদাহরণ রয়েছে। সিলেটলেট হিসাবে, এগুলি স্কোপগুলি দ্বারা প্রভাবিত হয় না এবং তাই একাধিক দর্শন / নিয়ামক / নির্দেশিকা / অন্যান্য পরিষেবাদি (ভাগ করে নেওয়া) দ্বারা অ্যাক্সেস করতে পারে
  • আপনি কখন (এবং সম্ভবত হওয়া উচিত) কাস্টম পরিষেবা তৈরি করতে পারেন
    • দুই বা ততোধিক জিনিসের একই ডেটাতে অ্যাক্সেসের প্রয়োজন (রুট স্কোপ ব্যবহার করবেন না) বা আপনি কেবল নিজের ডেটা ঝরঝরেভাবে আবদ্ধ করতে চান
    • আপনি কোনও ওয়েব সার্ভারের সাথে কথোপকথনকে ক্যাপসুলেট করতে চান (আপনার পরিষেবাতে $ উত্স বা $ http প্রসারিত করুন)
  • অন্তর্নির্মিত পরিষেবাগুলি '$' দিয়ে শুরু হয়।
  • কোনও পরিষেবা ব্যবহার করতে, নির্ভরতার উপর নির্ভরতা ইনজেকশন প্রয়োজন (যেমন, নিয়ামকের উপর, বা অন্য কোনও পরিষেবাতে বা কোনও নির্দেশিকা)।

দিকনির্দেশক (নীচের কিছু আইটেমগুলি মূলত একই জিনিসটি বলে, তবে আমি দেখতে পেয়েছি যে কখনও কখনও কিছুটা আলাদা শব্দার্থ সাহায্য করে)

  • মডেলের অবস্থার পরিবর্তন হলে DOM আপডেট করার জন্য দায়বদ্ধ
  • এইচটিএমএল শব্দভাণ্ডার প্রসারিত করুন = এইচটিএমএলকে নতুন কৌশল শেখান।
    কৌনিকটি একটি অন্তর্নির্বাহিত নির্দেশিকা (যেমন, এনজি- * স্টাফ) নিয়ে আসে যা ওয়েব অ্যাপ্লিকেশন তৈরির জন্য দরকারী তবে আপনি নিজের নিজস্ব যুক্ত করতে পারেন যে এইচটিএমএলকে একটি ঘোষিত ডোমেন স্পেসিফিক ল্যাঙ্গুয়েজে (ডিএসএল) রূপান্তরিত করা যেতে পারে। উদাহরণস্বরূপ, কৌণিক হোম পৃষ্ঠার ডেমোতে "উপাদান তৈরি করা" ডেমোতে <ট্যাবস> এবং <ফল> উপাদানগুলি।
    • অ-সুস্পষ্ট অন্তর্নির্মিত দিকনির্দেশনা (কারণ তারা "এনজি" দিয়ে শুরু করে না): ক, ফর্ম, ইনপুট, স্ক্রিপ্ট, নির্বাচন করুন, টেক্সারিয়া। কৌণিকের অধীনে, এগুলি স্বাভাবিকের চেয়ে আরও বেশি কিছু করে!
  • দিকনির্দেশগুলি আপনাকে "এইচটিএমএলকে সংযুক্ত করতে" অনুমতি দেয়। এনজি-অন্তর্ভুক্ত করার চেয়ে দিকনির্দেশগুলি প্রায়শই ভাল। উদাহরণস্বরূপ, আপনি যখন মূলত ডেটা-বাঁধাইয়ের সাথে প্রচুর এইচটিএমএল লেখা শুরু করেন, তখন এইচটিএমএলকে (পুনরায় ব্যবহারযোগ্য) নির্দেশিকাতে রিফ্যাক্টর।
  • কৌণিক সংকলক আপনাকে যে কোনও এইচটিএমএল উপাদান বা বৈশিষ্ট্যগুলির সাথে আচরণ সংযুক্ত করতে এবং এমনকি কাস্টম আচরণের সাথে নতুন এইচটিএমএল উপাদান বা বৈশিষ্ট্য তৈরি করতে দেয়। কৌনিক এই আচরণ এক্সটেনশনের নির্দেশকে ডাকে ।
    • যখন আপনি এটিকে পুরোপুরি সিদ্ধ করেন, নির্দেশিকা হ'ল একটি ফাংশন যা কৌনিক সংকলকটি ডিওএম-এর সাথে মুখোমুখি হলে এটি সম্পাদন করে।
  • নির্দেশনাটি এমন আচরণ বা ডিওএম রূপান্তর যা কোনও বৈশিষ্ট্যের উপস্থিতি, একটি উপাদান নাম, শ্রেণীর নাম বা কোনও মন্তব্যে একটি নাম দ্বারা ট্রিগার হয়। দিকনির্দেশক এমন একটি আচরণ যা ট্রিগার করা উচিত যখন নির্দিষ্ট (এইচটিএমএল) সংকলন প্রক্রিয়ায় এইচটিএমএল কনস্ট্রাক্টসের মুখোমুখি হন। নির্দেশাবলী উপাদান নাম, গুণাবলী, শ্রেণীর নাম, পাশাপাশি মন্তব্যে রাখা যেতে পারে।
    • সর্বাধিক নির্দেশাবলী কেবল গুনের মধ্যে সীমাবদ্ধ। উদাহরণস্বরূপ, ডাবলিক্লিক শুধুমাত্র কাস্টম বৈশিষ্ট্য নির্দেশাবলী ব্যবহার করে।
  • এছাড়াও দেখুন একটি কৌণিক নির্দেশ কী?

মডিউলগুলিতে কৌণিক জিনিসগুলি (নির্ভরতা ইনজেকশন স্টাফ) সংজ্ঞায়িত করুন এবং গ্রুপ করুন।
পরিষেবাগুলিতে ডেটা ভাগ করুন এবং ওয়েব সার্ভারের মিথস্ক্রিয়াটি মোড়ক করুন।
এইচটিএমএল প্রসারিত করুন এবং নির্দেশে ডোম হেরফের করুন ulation
এবং নিয়ন্ত্রণকারীদের যতটা সম্ভব "পাতলা" করুন।


1
@ মারক রাজকোক - ভাল উত্তর, আমি আপনাকে ইতিমধ্যে +1 দিয়েছি, তবে মডিউলগুলির অধীনে আরও 3 আইটেমটি স্পষ্ট করা দুর্দান্ত হবে, অর্থাত "ইনজেক্টর কনফিগার করুন" মানুষ ইনজেকশন পরিষেবাদি বুঝতে পারে তবে এটি মডিউলগুলির সাথে কীভাবে সম্পর্কিত?
হিটনিল্যান্ড 14

2
@ লিওহিটনি দেখুন, ডকস.আঙ্গুলারজস.আর.অর্গ / গাইড / মডিউল # নির্ভরতা : "মডিউলগুলি অন্যান্য মডিউলগুলি তাদের নির্ভরতা হিসাবে তালিকাভুক্ত করতে পারে a প্রয়োজনীয় মডিউলগুলির ব্লকগুলি প্রয়োজনীয় মডিউলের কনফিগারেশন ব্লকের আগে কার্যকর করে। "
রাজকক

@ মারকরাজাক্ক লিঙ্কটি এখন ভেঙে গেছে
মাইকেল স্মিথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.