কীভাবে একটি এএসপি.নেট এমভিসি সাইট মডিউলার করা যায়


14

আমি এএসপি. নেট নেট এমভিসি ৪ দিয়ে কোনও কর্মচারী ইন্ট্রানেট সিস্টেম তৈরির জন্য পরিকল্পনার পর্যায়ে আছি 4.. আমরা সাইটটি পৃথক "মডিউল" সমন্বিত করতে চাই, যার প্রত্যেকটি আলাদা বৈশিষ্ট্য সরবরাহ করে: মেসেজিং, বেতনভিত্তিক পরিবর্তন ইত্যাদি, আমি এই মডিউলগুলি সংকলনের সময় সক্ষম বা অক্ষম করতে সক্ষম হতে চাই। হোমপৃষ্ঠাটি এমন এক ধরণের নেভিগেশন প্রদর্শন করবে যা প্রতিটি মডিউলকে বোঝানো হবে link

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

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


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

1
আমার কাছে মনে হচ্ছে আপনি কোনও সিএমএস তৈরি করতে চান, সিএমএসের মধ্যে থেকে সিএমএস প্রশাসনের পরিবর্তে আপনি চান যে এটি নির্মাণের সময় শেষ করা হোক। যা আমাকে প্রশ্নে নিয়ে যায়, আপনি কেন এটি নির্মাণের সময় করা হোক?
জেমস পি। রাইট

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

nopCommerce ( nopcommerce.com/docamentation.aspx ) অংশটি আপনার চাওয়ার একটি ভাল উদাহরণ। প্লাগইন কীভাবে লিখবেন এবং ডিআই-র জন্য তাদের পদ্ধতির উপর নজর দিন।
রুই মার্কস

গবেষণার উদ্দেশ্যে আমি কৌতূহল ছিলাম যে এমভিসির সাথে এমইএফ সমন্বিত করার ক্ষেত্রে 'মিশ্র সাফল্য' কী ছিল। যেহেতু কোডপ্লেক্স আজকাল "সংরক্ষণাগারটিতে লিভিং" রয়েছে তাই ওপি প্রদত্ত লিঙ্কটি আর কাজ করে না। অন্য অতিরিক্ত কেউ সময়: সঙ্গে আলোচনা-ট্যাব এ 'Microsoft.Composition মাধ্যমে MVC4 সঙ্গে MEF2' এর জন্য Ctrl + F সার্চ archive.codeplex.com/?p=mef ;)
কেভিন

উত্তর:


4

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

প্রতিটি মডিউলের নিজস্ব স্ট্যাটিক কনস্ট্রাক্টর থাকবে যা মডিউলগুলিকে ট্র্যাক করে রাখার কেন্দ্রিক শ্রেণীর মধ্যে নিজেকে নোট করবে।

এই সিস্টেমটি আরও এমন সময় ঘড়ির ব্যবস্থার মতো ভাবুন যেখানে কর্মীরা আসেন এবং ঘড়িটি কাটান Then

মডিউলগুলির সাথে যদি আপনার একটি ইন্টারফেস চুক্তি থাকে তবে তারা অবশ্যই সেই মেটা সম্পত্তি সম্পর্কিত তথ্যকে আবদ্ধ করবে Ref

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

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

আপনি স্থানীয়ভাবে সংকলন করার জন্য এবং ডিএলএলকে চারপাশে ঠেলে দেওয়ার চেয়ে সাধারণ এফটিপি বা জিআইটি পুশ দিয়ে জেআইটি উপার্জন করতে পারেন।

স্ট্যাক ওভারফ্লো সম্পর্কে সেই নিবন্ধটির একটি লিঙ্ক এখানে


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

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

1

আপনি এমভিসির সাথে এমইএফ ব্যবহার করতে চাইতে পারেন। এটি আপনাকে সংযোজন বা মোতায়েন না করে প্রয়োজন অনুসারে যোগ করার ক্ষমতা নেবে। স্বাভাবিক হিসাবে, স্কট একটি ভাল জায়গা শুরু করার জন্য হল: http://www.hanselman.com/blog/ExtendingNerdDinnerAddingMEFAndPluginsToASPNETMVC.aspx

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