ওয়েবের জন্য এমভিসি ব্যতীত কোনও নকশার প্যাটার্ন রয়েছে কি?


15

আমি জানতে চাই এমভিসি ছাড়াও ওয়েবের জন্য কোনও ডিজাইনের ধরণ রয়েছে?

আমি জানি যে নকশার নিদর্শনগুলি রয়েছে: রেজিস্ট্রি, পর্যবেক্ষক, কারখানা, অ্যাক্টিভেকর্ড, ... এবং এমভিসি অন্যান্য ডিজাইনের ধরণ এবং ফোল্ডার কাঠামোর একটি সেট।

এমভিসি যেমন অন্য ডিজাইনের ধরণগুলির একটি সেট, ডিজাইনের প্যাটার্ন রয়েছে কি?

সম্পাদনা: আমার প্রোগ্রামিংয়ের ভাষাটি পিএইচপি।



1
@ মিঃ-মোকাদাম, দয়া করে একবার দেখুন - মেটা.স্ট্যাকেক্সেঞ্জার.কম
সেকশনস

আমি বিশ্বাস করি যে নীচের উত্তরগুলি আপনার প্রশ্নের সমস্ত দিকের উত্তর দেয়। আপনি সেরাটিকে গ্রহণ করতে পারেন এবং সম্প্রদায়কে সহায়তা করতে পারেন।
অরপিথ

এফবি এর ফ্লাক্স প্যাটার্ন সম্পর্কে কি।
মুহাম্মদ উমার

উত্তর:


25

সফ্টওয়্যার বিকাশে বিভিন্ন নিদর্শন রয়েছে; এমভিপি, এমভিভিএম, এমভিসি প্রভৃতি কয়েকটি সুপরিচিত are তবে, আপনি যে নির্দিষ্ট সমস্যা বা প্রযুক্তিটি সমাধান বা ব্যবহারের উদ্দেশ্যে যাচ্ছেন তা নির্ধারণ করতে হবে।

এখানে চিত্র বর্ণনা লিখুন

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

ডিজাইনের নিদর্শনগুলির সর্বাধিক বিখ্যাত সাধারণ কুকবুক হ'ল গ্যাং অফ ফোর (জিওএফ) ডিজাইন নিদর্শন

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা করুন: আমি অনুমান করি যে আপনি .NET প্ল্যাটফর্মের নকশা নিদর্শনগুলি প্রয়োগ করতে আরও আগ্রহী


1
+1 আমরা এমভিসির সাথে কোন প্যাটার্ন হিসাবে সংজ্ঞায়িত হয়ে বেঁচে যাচ্ছি, বা এমন কোনও কৌশল যা শীঘ্রই বা কাছাকাছি দেখাবে এটির উত্তরসূরী?
স্বতন্ত্র

6
+1 তবে এমভিপি, এমভিভিএম এবং এমভিসি একই থিমের সমস্ত প্রকরণ: মডেল যুক্তি থেকে (ছ) ইউআই আলাদা করে এবং তাদের মধ্যে কিছু তৃতীয় পক্ষ (নিয়ামক, উপস্থাপক) মধ্যস্থতা রাখে।
মার্জন ভেনেমা

2
@ মিঃ-মোকাদাম: এমভিসি প্রথমে একটি ওভারকিলের মতো দেখায় এবং জটিল। এটি আপনার যা করা উচিত তা করে, ইউআই, যুক্তি এবং ডেটা পৃথক করে। সফ্টওয়্যার বিকাশে নিশ্চিত যে একমাত্র জিনিস হ'ল পরিবর্তন। এবং থাম্ব একটি নিয়ম হিসাবে; 20% হ'ল উন্নয়ন, 80% রক্ষণাবেক্ষণ। সেই দৃষ্টিকোণ থেকে, এমভিসি অবশ্যই এই প্রচেষ্টাটি মূল্যবান। এটি অর্জনের এটিও সবচেয়ে প্রাথমিক প্যাটার্ন, এটি আমার ধারণা।
ব্রুনো শ্পিপার

3
@ মিঃ-মোকাদাম: না, আপনি একা থাকলেও এটি আপনাকে অনেক সহায়তা করে। এবং বিশেষত বড় প্রকল্পগুলিতে।
ব্রুনো শ্যাপার

1
@ মিঃ-মোকাদাম কে কখনও বলেছিলেন যে এমভিসি একটি দল বিকাশের ধরণ? আমি দীর্ঘকাল ধরে একা বিকাশ করছি পিএইচপি এবং এমভিসি ব্যবহার করে জিনিসগুলি রক্ষণাবেক্ষণের জন্য রাখা আমার পক্ষে বাধ্যতামূলক। আপনি কি কোনও পিএইচপি ফ্রেমওয়ার্ক ব্যবহার করার চেষ্টা করেছেন?
সানগো

7

একটি দুর্দান্ত প্যাটার্ন, যা আমি কয়েক সপ্তাহ আগে এসেছি, তা সরানো । এটি এমভিসি হিসাবে খানিকটা পরিশীলিত দেখায় তবে একই নীতি ভিত্তিক। এমভিসির একটি খারাপ দিক হ'ল আপনার কন্ট্রোলাররা সত্যই, সত্যই বড় হতে পারে। সরানো প্যাটার্নটি ব্যবহার করে আপনি এই সমস্যাটি সামান্য সামান্য হ্যান্ডেল করবেন।

অন্যদের দ্বারা নামকরণ করা অন্যান্য নিদর্শনগুলিও ভাল বিকল্প।


আমি ভেবেছিলাম পাতলা কন্ট্রোলার ব্যবহার করে এমভিসি প্রচারিত ?! আপনি "থিন কন্ট্রোলারস এবং ফ্যাট মডেল" কথাটি জানেন
সানগো

সুতরাং এটি হয়, কিন্তু বাস্তবে নিয়ামকরা বেশ চর্বি পেতে ঝোঁক।
জানু_ভি

2
এর কারণ আপনি নিয়ন্ত্রণকারীদের মধ্যে ডোমেন যুক্তি রেখেছিলেন, এটি মূল ক্র্যাসনার এবং পোপ ধরণের এমভিসি এর উদ্দেশ্য ছিল না। মূল ফ্যাশনে কন্ট্রোলাররা ইনপুট হ্যান্ডলিং সম্পর্কিত, যেমন। (এক্স, ওয়াই) মাউস ক্লিকগুলিতে সংযোগ স্থাপন করে একটি মডেল ক্রিয়াকলাপের সাথে সমন্বয় করুন (যেমন, কোনও তাপস্থাপক অ্যাপ্লিকেশনটিতে তাপমাত্রা বাড়ানো)। এটি বলেছিল, এমভিসি অর্থে বেশিরভাগ নিয়ামক স্তর সম্পূর্ণ স্বয়ংক্রিয়ভাবে তৈরি, এবং তাই, কোনও কাঠামোর মধ্যে অ্যাপ্লিকেশন বিকাশকারীকে অদৃশ্য।
আডাম

প্রবাহের মতো চলন্ত
মুহাম্মদ উমার

4

প্রতিষ্ঠিত করার প্রথম জিনিসটি হ'ল আপনাকে যা করতে হবে তা হ'ল কোনও কাঠামো এবং / বা এমভিসি (বা অন্যান্য নকশার প্যাটার্ন) উপকারী হবে কি না তা স্থির করে।

কাঠামোগত উন্নয়নের জন্য একটি নিয়মিত প্ল্যাটফর্ম সরবরাহ করা হয় যখন সাধারণত সাধারণ প্রোগ্রামিং প্রয়োজনীয়তার (যেমন ডেটাবেস ইন্টারঅ্যাকশন, ফর্ম তৈরি এবং বৈধকরণ, ব্যবহারকারীর প্রমাণীকরণ ইত্যাদি) সমাধান সরবরাহ করে)

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

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

এটি লক্ষ করা গুরুত্বপূর্ণ (এবং @ মারজান ভেনেমা দ্বারা প্রকাশিত এল এল ইউসুবুভের উত্তরের মন্তব্যে) যে এমভিসি, এমভিপি, এমভিভিএম এবং অন্যান্য এমভি এক্স প্যাটার্নগুলি (মূলত কমপক্ষে) সমস্ত একই 'নকশার ধরণ'।

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

বিভিন্ন প্রোগ্রামিং অধ্যক্ষ এবং সর্বোত্তম অনুশীলনগুলি সম্পর্কে সন্ধানের সেরা উপায় হল গবেষণা শুরু করার জন্য এখানে কিছু উইকিপিডিয়া লিঙ্ক:

অনুশীলনে আপনার নিজের 'প্যাটার্ন' প্রয়োগ করতে বাধা দেওয়ার কিছুই নেই, আইএমও সবচেয়ে ভাল উপায় হচ্ছে শিখতে হবে, আমার পক্ষে কমপক্ষে আমি এমভিসি প্যাটার্নটি সম্পূর্ণরূপে বুঝতে পারি না যতক্ষণ না আমি এটি ব্যবহার করে কোনও ওয়েবসাইট লেখার চেষ্টা শুরু করি।

আপনি একবার প্রোগ্রামিং ধারণা এবং সেরা অনুশীলনগুলি বুঝতে পারলে আপনি যে নির্দিষ্ট সমস্যার মুখোমুখি হচ্ছেন সেগুলি সমাধান করতে এবং আপনার প্রয়োজনগুলি মেটাতে, এটি কোনও প্রতিষ্ঠিত 'প্যাটার্নে' মেনে চলে কিনা তার জন্য আপনার নিজের সিস্টেমটি তৈরি করতে ব্যবহার করতে পারেন।

সমস্যা সমাধানের জন্য যদি আপনার নির্দিষ্ট কোনও সেট না থাকে তবে সাধারণ ফ্রেমওয়ার্কগুলির মধ্যে একটি শেখা আপনার সেরা বাজি।


3

সর্বাধিক বিখ্যাত উদাহরণগুলির মধ্যে একটি হ'ল নাকআউট.জেএস যা একটি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যা এমভিভিএম ডিজাইন প্যাটার্ন ব্যবহার করে । এমভিসি ফ্রেমওয়ার্ক ব্যাকবোন.জেএস বনাম নকআউট.জেএস এর তুলনা করে স্ট্যাক ওভারফ্লো সম্পর্কে এখানে একটি দুর্দান্ত নিবন্ধ রয়েছে

একটি সিডেনোট হ'ল এমভিভিএম ডিজাইন প্যাটার্নটি মাইক্রোসফ্ট থেকে মার্টিন ফোলারের পিএম ডিজাইন প্যাটার্নের বিশেষীকরণ হিসাবে উত্পন্ন হয়েছিল। এমভিভিএম ডাব্লুপিএফ অ্যাপ্লিকেশনগুলি দ্বারা ব্যাপকভাবে ব্যবহৃত হয়।


পৃষ্ঠা খুঁজে পাওয়া যায়নি!
মুহাম্মদ উমার

1
@ মুহাম্মদ উমর ধন্যবাদ, আমি লিঙ্কটি আপডেট করেছি। দুর্ভাগ্যক্রমে স্ট্যাকওভারফ্লো সেই 1000+ পয়েন্ট প্রশ্নটি মুছে ফেলেছে। ভাগ্যক্রমে, ওয়েবব্যাক মেশিনটিতে একটি কঠোর সংযম ব্যবস্থা নেই।
dodgy_coder

মোটেও অবাক হয় না ... আমি আশা করি সমস্ত সে সাইটগুলিও এরকম হবে।
মুহাম্মদ উমার

0

এল ইউসুবভ যেমন উল্লেখ করেছেন, আপনি অপেক্ষাকৃত মূলধারার উদাহরণগুলি খুঁজছেন তবে এএসপি. নেট ফ্রেমওয়ার্কটিতে এমভিপি এবং এমভিভিএম নিদর্শন রয়েছে long এমভিসি এবং এমভিভিএমের মধ্যে অন্যতম প্রধান পার্থক্য হ'ল কীভাবে আপনার সত্তা আপডেট হয়; ওয়েব অ্যাপ্লিকেশনগুলির traditionalতিহ্যবাহী রাষ্ট্রহীন বা আধা-রাষ্ট্রবিহীন পদ্ধতির জন্য এমভিসি আরও ভাল suited এএসপি.নেট ফ্রেমওয়ার্ক আপনার রাজ্যটিকে কোনও ফর্মের মধ্যে এম্বেড করে (যার ফলে এটি প্রতিটি অনুরোধে পুনরুদ্ধার করা যেতে পারে) রেখে এটিকে ঘিরে কাজ করার চেষ্টা করেছিল, যা এমভিপি এবং এমভিভিএম নিদর্শনগুলিকে আরও সার্থক করে তুলেছে।

এইচটিএমএল 5 এর সাথে, অ্যাপ্লিকেশনগুলি আরও বেশি জাভাস্ক্রিপ্ট-ভারী হয়ে উঠছে, তাদের বেশিরভাগ রাজ্যের ক্লায়েন্টে রয়েছে। এটি এমভিভিএম ফ্রেমওয়ার্কগুলিতে পুনরুত্থিত হতে পারে এবং নকআউট জেএস এর একটি উদাহরণ।


0

বন্যের বেশিরভাগ নিদর্শনগুলি এমভিসি, বা এমভিসির কিছু গন্ধ। সর্বোপরি আপনার ডেটা (মডেল), উপস্থাপনা (দেখুন) এবং এটির সাথে ইন্টারঅ্যাকশন (কন্ট্রোলার) বিভক্ত হওয়া বোধগম্য। যদি আপনার এমভিসিটি 80 এর দশকে যেমন প্রতিষ্ঠিত হয়েছিল, আপনার দিকে নজর রাখেন তবে আপনি খুঁজে পাবেন এটি কখনই ওয়েব ফ্রেমওয়ার্ক হিসাবে বোঝানো হয়নি। সুতরাং আমি এটি ওয়েবে অনেক বেশি বোঝা পেয়েছি।

অন্য একটি সুপরিচিত প্যাটার্ন হ'ল পরিষেবা ওরিয়েন্টেড আর্কিটেকচার (এসওএ)। এটি নির্মিত, একটি আধুনিক পদ্ধতির আপনার সার্ভারে একটি এমভিসি (বা গন্ধ) থাকতে হবে, কেবল সেই পরিষেবাটি প্রকাশ করতে যা আপনি কাজ করতে পারেন। ক্লায়েন্টের পাশে অন্য একটি এমভিসি স্টাইলযুক্ত অ্যাপ্লিকেশন থাকবে, উদাহরণস্বরূপ একটি এইচটিএমএল 5 এবং জাভাস্ক্রিপ্ট চালিত ওয়েব অ্যাপ্লিকেশন (উদাহরণস্বরূপ টুইটার বা লিংকড ইন)। ক্লায়েন্ট অ্যাপ্লিকেশনটি আপনার সার্ভারের সাইড পরিষেবা (সার্ভারের "দেখুন") এর মডেল হিসাবে ব্যবহার করবে। আইএমএইচও, এটি শিল্পের অবস্থা এবং সম্ভবত কেবলমাত্র এমভিসি সার্ভারের দিকে ঠেলে দেবে।


0

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


0

এমভিসি ব্যতীত 1000 এরও বেশি উপায় রয়েছে তাদের কয়েকটি এমভিসির সাথে সমান এবং কিছু সম্পূর্ণ আলাদা

উদাহরণ স্বরূপ :

  1. মডেল-টেম্পলেট-দেখুন - এমটিভি
  2. মডেল – ভিউ – উপস্থাপক - এমভিপি
  3. শ্রেণিবদ্ধ মডেল – দর্শন – নিয়ামক এইচএমভিসি
  4. মডেল দেখুন ভিউমোডেল- এমভিভিএম

ইত্যাদি


1
এই অফারটি কোন কিছুরই সৃষ্টি পয়েন্ট উপর সারগর্ভ বলে মনে হচ্ছে না এবং পূর্বে 7 টি উত্তর ব্যাখ্যা
মশা

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