জাভাতে এমভিসি আর্কিটেকচার কীভাবে প্রয়োগ করবেন?



জাভাতে এমভিসি আর্কিটেকচার সম্পর্কিত এই নিবন্ধটি আপনাকে এমভিসি ডিজাইনের প্যাটার্নটি কী এবং এটি কীভাবে ওয়েব অ্যাপ্লিকেশনগুলির ডিজাইনিংকে সহজ করে তোলে তা বুঝতে আপনাকে সহায়তা করবে।

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

এই নিবন্ধে যে বিষয়গুলি অন্তর্ভুক্ত করা হবে সেগুলি নিম্নরূপ:





কীভাবে খবরের ক্লিপ খুলবেন

আমরা আসলে জি আগেএমভিসি আর্কিটেকচারের প্রযুক্তিগত দিকগুলিতে কিছু নির্দিষ্ট ধারণা রয়েছে যা আপনার জানা দরকার।

  • নকশা প্যাটার্ন সফটওয়্যার ইঞ্জিনিয়ারিংয়ে, সফ্টওয়্যার ডিজাইন করার সময় একটি সাধারণ সমস্যা সমাধানের কৌশল।
  • ডিজাইনের মডেল, সমস্যাটি সমাধান করতে বা মডেলটি ডিজাইনের জন্য আপনি কোন ধরণের আর্কিটেকচার ব্যবহার করেন তা নির্দিষ্ট করে।
  • দুই আছে ডিজাইন মডেল ধরণের : মডেল 1 আর্কিটেকচার , মডেল 2 (এমভিসি) আর্কিটেকচার।

জাভাতে এমভিসি আর্কিটেকচারটি কী?

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



  • মডেল - অ্যাপ্লিকেশনটির ব্যবসায়িক স্তরকে উপস্থাপন করে
  • দেখুন - অ্যাপ্লিকেশন উপস্থাপনা সংজ্ঞা দেয়
  • নিয়ামক - অ্যাপ্লিকেশন প্রবাহ পরিচালনা করে

এমভিসি - জাভাতে এমভিসি আর্কিটেকচার - এডুরেকা

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



  1. ক্লায়েন্টের ব্রাউজারটি সার্ভারে উপস্থিত নিয়ন্ত্রকের কাছে একটি পৃষ্ঠার জন্য একটি অনুরোধ প্রেরণ করে
  2. কন্ট্রোলার অনুরোধের প্রতিক্রিয়া হিসাবে এটি প্রয়োজন তথ্য পুনরুদ্ধার করে, মডেল অনুরোধ করার ক্রিয়া সম্পাদন করে
  3. এরপরে নিয়ামকটি পুনরুদ্ধার করা ডেটা দর্শনটিতে দেয়
  4. ব্রাউজারটি প্রদর্শনের জন্য ভিউটি রেন্ডার করে ক্লায়েন্টকে ফেরত পাঠানো হয়

এর মধ্যে একটি সফ্টওয়্যার অ্যাপ্লিকেশন পৃথক করাএই তিনটি পৃথক উপাদান বিভিন্ন কারণে একটি ভাল ধারণা। সেগুলি কী তা একবার দেখে নেওয়া যাক।

জাভাতে এমভিসি আর্কিটেকচারের সুবিধা

এমভিসি আর্কিটেকচার অ্যাপ্লিকেশন বিকাশকালে একজন প্রোগ্রামারকে প্রচুর সুবিধা দেয়, যার মধ্যে রয়েছে:

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

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

জাভা ব্যবহার করে এমভিসি বাস্তবায়ন

এমভিসি ডিজাইন প্যাটার্নের ভিত্তিতে একটি ওয়েব অ্যাপ্লিকেশন বাস্তবায়নের জন্য, আমরা তৈরি করব

  • কোর্স ক্লাস হিসাবে কাজ করে যা মডেল স্তর
  • কোর্সভিউ ক্লাস , যা উপস্থাপনা স্তর সংজ্ঞায়িত করে ( প্রদর্শন স্তর )
  • কোর্সকন্টোলার ক্লাস , যা হিসাবে কাজ করে নিয়ামক

এখন, আসুন এক এক করে এই স্তরগুলি অন্বেষণ করা যাক।

মডেল স্তর

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

প্যাকেজ মাইপ্যাকেজ পাবলিক ক্লাস কোর্স {প্রাইভেট স্ট্রিং কোর্সনাম প্রাইভেট স্ট্রিং কোর্সআইড প্রাইভেট স্ট্রিং কোর্সক্যাটগরি পাবলিক স্ট্রিং getId () {রিটার্ন কোর্সআইডি} পাবলিক শূন্য সেটআইডি (স্ট্রিং আইডি) {this.CourseId = id id পাবলিক স্ট্রিং getName () {রিটার্ন কোর্সনাম} পাবলিক শূন্য সেট (স্ট্রিং নাম) {this.CourseName = নাম} পাবলিক স্ট্রিং getCategory () {রিটার্ন কোর্সশ্রেণী} পাবলিক শূন্য সেটশ্রেণী (স্ট্রিং বিভাগ) {this.CourseCategory = বিভাগ}}

কোডটি বোঝা সহজ এবং স্ব-ব্যাখ্যামূলক। এটি কোর্সের বিশদ প্রাপ্ত / নির্ধারণ করার জন্য ফাংশন নিয়ে গঠিত।

ভিউ লেয়ার

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

প্যাকেজ মাইপ্যাকেজ পাবলিক ক্লাস কোর্সভিউ {পাবলিক শূন্য প্রিন্টকোর্স ডেটােলস (স্ট্রিং কোর্সনাম, স্ট্রিং কোর্সআইড, স্ট্রিং কোর্সকোটাগ্রাফি) {System.out.println ('কোর্সের বিবরণ:') System.out.println ('নাম:' + কোর্সনাম) System.out.println ('কোর্স আইডি:' + কোর্সআইডি) System.out.println ('কোর্স বিভাগ:' + কোর্সশ্রেণী)}

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

কন্ট্রোলার স্তর

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

শ্রেণি এবং ইন্টারফেসের মধ্যে পার্থক্য
প্যাকেজ মাইপ্যাকেজ পাবলিক ক্লাস কোর্সকন্ট্রোলার {প্রাইভেট কোর্স মডেল প্রাইভেট কোর্সভিউ দেখুন পাবলিক কোর্সকন্ট্রোলার (কোর্স মডেল, কোর্সভিউ ভিউ) {this.model = মডেল this.view = ভিউ} পাবলিক শূন্য সেটকোর্সনাম (স্ট্রিং নাম) {পাবলিক স্ট্রিং getCourseName () {ফিরুন Model.getName ()} পাবলিক শূন্য সেটকোর্সআইডি (স্ট্রিং আইডি) {Model.setId (আইডি)} পাবলিক স্ট্রিং getCourseId () {রিটার্ন Model.getId ()} পাবলিক শূন্য সেটকোর্সক্যাটরি (স্ট্রিং বিভাগ) {মডেল.সেটস (বিভাগ)} পাবলিক স্ট্রিং getCourseCategory () {রিটার্ন Model.getCategory ()} পাবলিক শূন্য আপডেটভিউ () {ভিউ.প্রিন্টকোর্সডেটেলস (Model.getName (), Model.getId (), Model.getCategory ())}}

কোডটিতে একটি দোষের ঝলক আমাদের বলবে যে এই নিয়ামক শ্রেণিটি কেবলমাত্র তথ্য পেতে / সেট করতে মডেলকে কল করার এবং তার উপর ভিত্তি করে ভিউ আপডেট করার জন্য দায়ী। এখন আসুনএই সমস্ত কীভাবে একত্রিত হয় তা একবার দেখুন।

প্রধান জাভা ক্লাস

আসুন এই ক্লাসটিকে 'MVCPatternDemo.java' কল করুন। নীচের কোডটি দেখুন।

প্যাকেজ মাইপ্যাকেজ পাবলিক ক্লাস এমভিসিপিটারডেনডেমো {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {// ডাটাবেস থেকে রোল নম্বরের ভিত্তিতে শিক্ষার্থীর রেকর্ড আনুন কোর্স মডেল = retriveCourseFromDatedia () // একটি ভিউ তৈরি করুন: কনসোল কোর্সভিউ ভিউতে কোর্সের বিশদ লিখতে = নতুন কোর্সভিউ () কোর্সকন্ট্রোলার কন্ট্রোলার = নতুন কোর্সকন্ট্রোলার (মডেল, ভিউ) কন্ট্রোলারআপডেটভিউ () // আপডেট মডেল ডেটা কন্ট্রোলারসেটকোর্সনাম ('পাইথন') System.out.println ('n আপডেটের পরে, কোর্সের বিশদ বিবরণ নিম্নরূপ') controller.updateView ()} বেসরকারী স্ট্যাটিক কোর্স retriveCourseFromDatabase () ourse কোর্স কোর্স = নতুন কোর্স () কোর্স.সেটনাম ('জাভা') কোর্স.সেটআইডি ('01 ') কোর্স.সেটগ্রাফিক (' প্রোগ্রামিং ') রিটার্ন কোর্স}

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

আউটপুট

কোর্সের বিবরণ: নাম: জাভা কোর্স আইডি: 01 কোর্স বিভাগ: প্রোগ্রামিং আপডেটের পরে, কোর্সের বিবরণ নিম্নলিখিত কোর্সের বিবরণ: নাম: পাইথন কোর্স আইডি: 01 কোর্স বিভাগ: প্রোগ্রামিং

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

আপনি যথাসম্ভব অনুশীলন নিশ্চিত করুন এবং আপনার অভিজ্ঞতাটি ফিরিয়ে দিন।

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ‘জাভাতে এমভিসি আর্কিটেকচার’ এর মন্তব্য বিভাগে উল্লেখ করুন নিবন্ধ এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।