উত্তর:
যদি আপনি একটি একক পৃষ্ঠার অ্যাপ্লিকেশন (এসপিএ) তৈরি করে থাকেন তবে সম্ভবত আপনার এএসপি.নেট এমভিসিতে "এমভিসি" দরকার নেই । দর্শনগুলি, বিশেষত গতিশীল দর্শনগুলি সম্ভবত ক্লায়েন্ট-সাইডে সরবরাহ / ম্যানিপুলেটেড। কৌণিক হ্যান্ডেলগুলি যে ঠিক আছে।
তবে সম্ভবত আপনি 100% এসপিএ চান না। তারপর কি? পরিবর্তে 10 পৃষ্ঠা, কিন্তু 10 পৃষ্ঠাগুলি হয় কল্পনা খুবগতিশীল। কোনও ব্যবহারকারী লগইন করার পরে, ডানদিকের কোণায় একটি সামান্য ব্যবহারকারীর ব্যাজ রয়েছে। এটি গতিশীল নয়। এটি কেবল ব্যবহারকারীর "স্কোর" এবং তাদের সর্বশেষ সেলফির মতো কয়েকটি নিফটি জিনিস দেখায়। আপনি নিফটি জিনিসগুলি ক্যাশে করেন যাতে সেগুলি সহজেই পুনরুদ্ধার করা যায়। এখন, আপনি এটি দিয়ে দুটি উপায় যেতে পারেন। আপনি যদি ক্লায়েন্ট-সাইড এমভিসি পিউরিস্ট হন তবে অন্যান্য সমস্ত ডেটার মতোই আপনি প্রাথমিক এইচটিএমএল পেওলড বিতরণ করার পরে ব্যাজ ডেটা আনবেন। তবে আপনি কোনও বিশুদ্ধবাদী নন। হতে পারে আপনি একজন পিউরিস্টের বিপরীত। হতে পারে আপনি একজন ইমপ্রিস্ট। সুতরাং, প্রাথমিক এইচটিএমএল সরবরাহ করার পরিবর্তে কিছু জাভাস্ক্রিপ্ট বিতরণ করা যা আপনার সার্ভারে ফিরে পোস্ট করবে, ব্যাজ ডেটা ধরার জন্য জাভাস্ক্রিপ্টের মাধ্যমে পোস্ট করবে এবং শেষ পর্যন্ত ক্লায়েন্ট-সাইড এমভিসির মাধ্যমে সেই ডেটা ভিউতে মার্জ করে,এটি আপনার প্রাথমিক এইচটিএমএল হিসাবে। আপনার প্রাথমিক এইচটিএমএল সরবরাহ করার পরে, আপনি আপনার সাধারণ ক্লায়েন্ট-সাইড এমভিসি অ্যান্টিক্স নিয়ে এগিয়ে যান।
সুতরাং ... সার্ভারে এবং ক্লায়েন্টের এমভিসি হ'ল 2001 এর কোডটি গুছিয়ে নেওয়ার ব্যবস্থা করার এক সহজ উপায় a আপনাকে একটি বা অন্যটি বেছে নিতে হবে না। আপনি উভয় চয়ন করতে পারেন। মঞ্জুর, প্রারম্ভিক এইচটিএমএল সরবরাহের পরে আপনি যত বেশি করেন, আপনার সার্ভার-সাইড এমভিসির কম প্রয়োজন। তবুও, আপনার যদি এটি প্রয়োজন হয় তবে এটি আপনার জন্য রয়েছে। উদাহরণস্বরূপ, আমি একটি এএসপি.নেট এমভিসি / কৌণিক অ্যাপ্লিকেশনটিতে কাজ করেছি যেখানে বাহ্যিক কৌণিক টেম্পলেটগুলি প্রকৃতপক্ষে। নেট এমভিসি অ্যাকশনরেসাল্ট হতে পারে। তার অর্থ আপনার সার্ভার কন্ট্রোলার ডেটাটিকে তার ভিউতে মার্জ করতে পারে, এটি একটি টেম্পলেট হিসাবে কৌণিকর কাছে সরবরাহ করতে পারে এবং অ্যাংুলারের নিয়ামক তার ডেটা ভিউতে মার্জ করতে পারে। আমি বলছি না এটি একটি ভাল ধারণা, তবে এটি কেবল দেখায় যে এমভিসির একটি ফর্ম অন্য অপ্রচলিত করে না।
তবুও, আপনি কৌণিক কীভাবে মোতায়েন করেন তা বিবেচনা না করেই আপনার সেই প্রাথমিক এইচটিএমএল, টেমপ্লেটগুলি এবং সবচেয়ে গুরুত্বপূর্ণভাবে ডেটা সরবরাহ করার একটি উপায় প্রয়োজন। এমন প্ল্যাটফর্মটি কেন ব্যবহার করবেন না যা এটি সহজ করে? অনেকগুলি রয়েছে, তবে। নেট এমভিসি কোনও স্লুচ নয়। আমি যেমন বলেছি, আপনি প্রাথমিক এইচটিএমএল এবং বহিরাগত কৌণিক টেম্পলেটগুলি এমভিসি ক্রিয়াকলাপের ফলাফল তৈরি করতে পারেন, তবে আরও ভাল, আপনি ডেটা সরবরাহ করতে .NET এর ওয়েব এপিআই ব্যবহার করতে পারেন । ওয়েব এপিআই এপ্রিকোট কম্পোটের মতো সুস্বাদু।
সংক্ষিপ্তসার: এমভিসি হ'ল একটি নিদর্শন। আপনি যে প্যাটার্নটি কোনও সংখ্যক শারীরিক স্তর ব্যবহার করতে পারেন want এটি ব্যবহার করা যাবে না। এটি যদি বোধগম্য হয় তবে অবাধে এটি ব্যবহার করুন। এছাড়াও, কৌণিকর যাইহোক এমভিসি নাও হতে পারে (সুতরাং যারা এই বিষয়গুলির বিষয়ে যত্নশীল লোকেরা বলেছেন), তাই নামের সাথে "এমভিসি" আছে এমন একটি সরঞ্জাম ব্যবহার করে নির্দ্বিধায় এটি অনুভব করুন। হেল্প, এটি এমভিসি হলেও, মিশ্রিত করুন এবং পছন্দসই অনুসারে মেলে।
এএসপি.নেট এমভিসি একটি সার্ভার-সাইড ফ্রেমওয়ার্ক; আপনি জাভাস্ক্রিপ্ট গ্রন্থাগারগুলি কী ব্যবহার করেন তা বিবেচ্য নয়। অ্যাঙ্গুলারজেএস একটি ক্লায়েন্ট-সাইড লাইব্রেরি, যা সার্ভার-সাইড প্রযুক্তি ওয়েবসাইটকে কী ক্ষমতা দেয় তা বিবেচ্য নয় — এটি পাইথন, এএসপি.নেট এমভিসি, এমনকি সরাসরি ডিস্কে সঞ্চিত স্ট্যাটিক এইচটিএমএল ফাইলগুলির সাধারণ পুরানো গুচ্ছ হতে পারে।
এএসপি.নেট এমভিসি এবং অ্যাঙ্গুলারজেএস উভয়ই সামঞ্জস্যপূর্ণ এবং সেখানে প্রচুর প্রকল্প রয়েছে যা এগুলি একসাথে ব্যবহার করে।
আপনি উভয় ব্যবহার করতে হবে ? আসলে তা না. এটি সম্পূর্ণ আপনার প্রকল্পের প্রয়োজনের উপর নির্ভর করে।
যদি আপনার ওয়েবসাইটটি গতিশীল হয় তবে আপনাকে কিছু সার্ভার-সাইড স্ক্রিপ্টিং ব্যবহার করতে হবে। আপনি এএসপি.এনইটি ব্যবহার করতে পারেন এবং আপনি অ্যাংুলারজেএস ব্যবহার করছেন তা আপনার সার্ভার-সাইড কোডটিকে আরও এমভিসি তৈরি করবে না। আপনি যদি এমভিসি হিসাবে আপনার সার্ভার-সাইড অ্যাপ্লিকেশনটি কাঠামো করতে সক্ষম হতে চান তবে আপনি বরং এএসপি.নেট এমভিসি বেছে নেবেন।
একইভাবে, আপনি এএসপি.নেট এমভিসি ব্যবহার করছেন তা আপনার ক্লায়েন্ট-সাইড কোডের কাঠামো সম্পর্কে কিছুই বোঝায় না। আপনি কাঠামো সম্পর্কে কোনও চিন্তা ছাড়াই আপনার সমস্ত জাভাস্ক্রিপ্টকে একটি ফাইলে রেখে দিতে পারেন এবং এতে খুশি হতে পারেন (যতক্ষণ না প্রকল্পটি বাড়তে শুরু করে)। এখানে আবার, AngularJS ক্লায়েন্ট-সাইডে আপনার অ্যাপ্লিকেশনটি গঠনের উপায় হিসাবে নিজেকে উপস্থাপন করে।
পার্শ্ব দ্রষ্টব্য: আপনি আপনার প্রশ্নটি এএসপি.নেট এমভিসি 3 ট্যাগ করেছেন 3.. যদি আপনি গত চার বছর ধরে আপডেট হয়নি এমন লিগ্যাসি সার্ভারগুলিতে অ্যাপ্লিকেশনটি হোস্ট করার ক্ষেত্রে আপনার কোনও নির্দিষ্ট বাধা থাকে তবে আপনি এএসপি ব্যবহার করতে পারবেন .NET এমভিসি 4 বা 5 পরিবর্তে।
আপনি যদি ভিজ্যুয়াল স্টুডিও ব্যবহার করছেন তবে একটি নতুন 'একক পৃষ্ঠা অ্যাপ' এমভিসি ওয়েবসাইট টেম্পলেট রয়েছে যাতে কৌণিক এবং এমভিসি ওয়েব এপিআই কন্ট্রোলার রয়েছে।
এটি ভালভাবে কাজ করে কারণ আপনার এমভিসি সার্ভার-সাইড কোডটি কৌনিক ক্লায়েন্টের সাইড কোড কল করার জন্য জসন এন্ডপয়েন্টগুলি সরবরাহ করে।
অতিরিক্ত হিসাবে আপনি আপনার একক পৃষ্ঠার অ্যাপ্লিকেশনটির জন্য বেসিক এইচটিএমএল ভিউ বা মতামত পরিবেশন করতে এমভিসি নিয়ন্ত্রকদের ব্যবহার করতে পারেন। এটি আপনাকে সার্ভার সাইড জেনারেশন, অনুমোদন, পুনর্নির্দেশগুলি, ত্রুটি পরিচালনার ইত্যাদির শক্তি দেয়
প্রায়শই আপনি একক পৃষ্ঠাগুলির অ্যাপ্লিকেশন, এমনকি বিভিন্ন পরিবেশ, বিভিন্ন ভাষা, বা এমনকি বিজোড় প্রমাণীকরণ পৃষ্ঠা যা সার্ভারের পক্ষে করা সহজতর হতে পারে এর জন্য শেষ পয়েন্ট ইউআরএল এর মতো কিছু সংখ্যক সার্ভার তৈরি এইচটিএমএল / জাভাস্ক্রিপ্ট চাইবে।
3 বছর পরে, ক্লায়েন্টের পক্ষ থেকে আপনার অ্যাপ্লিকেশনটি কাঠামোর জন্য আপনার ডেটা এবং অ্যাঙ্গুলার (জেএস বা আরও নতুন) পরিবেশন করতে ASP.NET ওয়েব API ব্যবহার করুন। আপনি যদি কোনও স্থির সাইট তৈরি করেন তবে কেবল এএসপি.নেট এমভিসি ব্যবহার করুন।