এমভিসি আর্কিটেকচারের জন্য সেরা অভ্যাসগুলি [বন্ধ]


28

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

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

যদি আমি একটি মাল্টি-স্তর / স্তর অ্যাপ্লিকেশন তৈরি করতে চাই তবে এমভিসির সাথে সম্পর্কিত কয়েকটি সেরা অনুশীলনগুলি কী কী?

উত্তর:


5

কন্ট্রোলার কারখানাটি ব্যবহার করে ডিআই এএসপি এমভিসিতে দক্ষ হয়। এই কারখানাটি আপনার নিয়ামক নির্ভরতা সমাধানের জন্য ব্যবহৃত হয়।

এমভিসিকন্ট্রিবিতে কিছু কন্ট্রোলার ফ্যাসোটারি বাস্তবায়ন রয়েছে যা আপনি বাক্সের বাইরে ব্যবহার করতে পারেন। আমি তাদের ক্যাসেল উইন্ডসর বাস্তবায়ন ব্যবহার করি এবং এটি ভালভাবে কাজ করে। তাদের টেস্টহেল্পার ক্লাস চেক করার পরামর্শও দেয়। এটিতে কন্ট্রোলার এইচটিটিপি কনটেক্সট, সেশনস ইত্যাদির উপহাস করার জন্য খুব দুর্দান্ত কার্যকারিতা রয়েছে M এমভিসিসিআর্ট্রিবিব

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


2

উদাহরণস্বরূপ, কোথায় আমরা সংগ্রহশালা ক্লাস করব?

তারা মডেল অন্তর্ভুক্ত; তারা অ্যাপ্লিকেশন মডেল।

আমি স্তরগুলি কীভাবে গঠন করব? যদি আমি একটি মাল্টি-স্তর / স্তর অ্যাপ্লিকেশন তৈরি করতে চাই তবে এমভিসির সাথে সম্পর্কিত কয়েকটি সেরা অনুশীলনগুলি কী কী?

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


সুতরাং আপনি পরামর্শ দিচ্ছেন যে তাদের একটি বহু-স্তরের অ্যাপ্লিকেশনটির ইউআই প্রকল্পে যাওয়া উচিত?
এরিক ফানকেনবাশ

@ মিস্ত্রি ম্যান যদি এটি বিশাল না হয় তবে তাদের প্রকল্পটি আপনার এমভিসি অ্যাপ্লিকেশনটিকে হোস্ট করা উচিত। বিশেষত, ব্যবসায়ের যুক্তি নিয়ন্ত্রকের মধ্যে যাবে এবং প্রতিটি ক্রিয়ার নিজস্ব যুক্তি থাকবে have এমভিসি কেবলমাত্র একটি ইউআই প্যাটার্ন নয়; এই কারণেই এটি আপনার একটি 'ইউআই প্রকল্প' বলে আপনার দাবির সাথে আমি একমত নই। এটা না। এটি একটি এমভিসি প্রকল্প যা বিভাগ হিসাবে View(আপনার ইউআই রয়েছে)।
জর্জ স্টকার

ঠিক আছে, আমি সম্ভবত এটি খারাপভাবে বলেছি। তবে, আপনি কি সম্মত হন না যে ভিউ লেয়ারটি ডাটাবেসটি পরিচালনা করতে হবে না? আপনি যদি মডেলটিতে রেপোজিটরি ক্লাস রাখেন তবে দৃশ্যটি এটি করতে পারে।
এরিক ফানকেনবাশ

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