কম্পিউটার

এমভিভিএম: আইওএসে এমভিসির একটি উন্নতি

লেখক: Peter Berry
সৃষ্টির তারিখ: 13 জুলাই 2021
আপডেটের তারিখ: 10 মে 2024
Anonim
এমভিভিএম: আইওএসে এমভিসির একটি উন্নতি - কম্পিউটার
এমভিভিএম: আইওএসে এমভিসির একটি উন্নতি - কম্পিউটার

কন্টেন্ট

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

একটি দ্রুত পুনরুদ্ধার

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

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


এমভিভিএম (মডেল ভিউমোডেল) কী?

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

দেখুন অন-স্ক্রিনে দৃশ্যমান সত্তা যা ব্যবহারকারীর সাথে যোগাযোগ করতে পারে। এটি ব্যবহারকারীর কাছে তথ্য প্রদর্শন করে এবং ব্যবহারকারীকে তথ্য যুক্ত / আপডেট করতে বা ব্যবহারকারীর নাম পরিবর্তন করতে বা কোনও সংরক্ষণ কার্য সম্পাদন করার মতো কোনও ক্রিয়া সম্পাদনের অনুমতি দেয়। যেখানে হিসাবে মডেল সমস্ত ডেটা সরবরাহ করে এবং একটি কার্য সম্পাদন করতে পারে এমন ক্রিয়াকলাপ সরবরাহ করে। এর কাজ দেখতে আসল অ্যাপটিতে ডুব দিন আঠালো.

আপনি একটি তাপমাত্রা অ্যাপ্লিকেশন বিকাশ করছেন তা বিবেচনা করুন যা ব্যবহারকারীদের তাদের শহরের তাপমাত্রা দেখতে দেয় এবং ব্যবহারকারীরা শহরের তাপমাত্রাও পরিবর্তন করতে পারে। অ্যাপ্লিকেশনটি এর মতো দেখতে পাবেন:

যখন ব্যবহারকারী অ্যাপটি খুলবে তখন ভিউতে তাপমাত্রা দেখানোর ক্ষেত্রে এটি ঘটে:


উপরের ক্ষেত্রে, অনভিউডিডলয়েড ট্রিগার হয়ে যায়, আঠালো getTempeferences ফাংশন কল করে মডেল থেকে তথ্য পাবেন। এই ফাংশনটি ইন্টার টাইপ করে তাপমাত্রা ফিরে আসবে, সুতরাং আঠালোকে এটি প্রদর্শন করার আগে আমাদের এই মানটি ফর্ম্যাট করতে হবে। সুতরাং আঠালো তার সহায়ক ফাংশন কনভার্টইনডিসপ্লেফর্ম কল করবে। এই ফাংশনটি তাপমাত্রা নেয় এবং একটি স্ট্রিংকে "টেম্পেপাল> ° সি" ফর্ম্যাটে ফেরত দেয়। তারপরে আঠালো সেটটেমপ্যাবেলটেক্সট কল করে লেবেলে ফর্ম্যাট করা মানটি সেট করবে। আমাদের অ্যাপ্লিকেশনটি এখন পর্দার "20 ডিগ্রি সেন্টিগ্রেড" তাপমাত্রা প্রদর্শন করবে।

এখন আসুন দেখি যখন ব্যবহারকারী 30 ডিগ্রি সেন্টিগ্রেড তাপমাত্রা আপডেট করে তখন কী হবে:

এই ক্ষেত্রে, সেভ ফাংশনটি ভিউ দ্বারা ট্রিগার করা হয়, আঠালো প্রবেশ করা পাঠ্য পায়, এটিকে মানকে রূপান্তর করে এবং তারপরে মডেলের সেটটেম্প্রিটিকে কল করে। এটি নতুন তাপমাত্রাকে ফর্ম্যাট করে এবং নতুন তাপমাত্রার সাথে ইউআই আপডেট করে।


আঠালো এর কাজগুলি তালিকাবদ্ধ করুন:

  • এটি মডেল থেকে ডেটা আনে।
  • এটি ডেটাটিকে "20 ° C" এর মতো দেখার মতো আকারে রূপান্তর করে।
  • এটি মডেলটিতে সম্পর্কিত ক্রিয়াকলাপ সম্পাদন করতে কোনও ব্যবহারকারীর ক্রিয়া শোনে।
  • এটি ভিউ থেকে ডেটা পেয়েছে এবং এটি মডেলকে দেওয়ার জন্য এটি প্রস্তুত করে।
  • এটি ইউআইতে প্রদর্শিত তথ্য আপডেট করে।

এখন আপনি ভাববেন, আঠার নিয়ামক? হ্যাঁ এমভিসিতে, এটি। সুতরাং, এমভিভিএমে ভিউমোডেল আঠালো হয়?

এমভিভিএম আঠালোকে দুটি উদ্বেগে ভাগ করে:

  1. ভিউমোডেল
  2. বাঁধাই

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

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

এমভিভিএম মধ্যে তাপমাত্রা অ্যাপ্লিকেশন:

প্রোটোকল টেম্পারেচারভিউ মডেলডেলিগেট {চমত্কার তাপমাত্রা আপডেট হয়েছে (_ ভিএম: টেম্পারেচারভিউমোডেল)} শ্রেণি তাপমাত্রাভিউ মডেল {প্রাইভেট ভার _টেম্পেরেশন: অন্তর্নির্মিত = 0 পাবলিক ভার ডেলিগেট: টেম্পারেচারভিউ মডেলডেলিগেট? পাবলিক ভার তাপমাত্রা: স্ট্রিং {রিটার্ন "_ (_ তাপমাত্রা) ° সি"} পাবলিক ফানক লোডটেম্পেরেশন () te _টেম্পেরিকেশন = 20 প্রতিনিধি? ? 0 প্রতিনিধি? .টেম্পেরিটেশনউপটেডেড (স্ব)}} ক্লাস টেম্পারেচারভিউ কনক্রোলার: ইউআইভিউকন্ট্রোলার, টেম্পারেচারভিউ মডেলডেলিগেট {@ আইবিউটলেট দুর্বল ভেরি টেম্পলবিল: ইউআইএলবেল! @ আইবিউটলেট দুর্বল ভার টেক্সট: ইউআইটিেক্সটফিল্ড! var ভিএম = টেম্পারেচারভিউমোডেল () ফানক ভিউডিডলয়েড () {সুপার.ভিউডিডলিড () ভিএম.ডিলেগেট = স্ব ভিএম.লোডটেম্পেরিকেশন () c ফান তাপমাত্রা আপডেটেড (_ ভিএম: টেম্পারেচারভিউমোডেল) {স্ব.টেম্পল্পলিটেকশন = ভিএম.টেম্পেকচারেশন () {vm.changeTemperature (to: tempTxt.text!)}}

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

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

এমভিভিএম কীভাবে এমভিসি উন্নত করে

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

এমভিভিএম প্রো এবং কনস

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

উপসংহার

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

আপনি এখানে এমভিভিএম ব্যবহার করে টেম্পারেচার অ্যাপ প্রয়োগ করতে পারবেন। আপনার যদি কোনও প্রশ্ন, মন্তব্য বা পরামর্শ থাকে তবে নির্দ্বিধায় কোনও মন্তব্য ফেলুন।

জনপ্রিয়তা অর্জন

সম্পাদকের পছন্দ

আপনার গোপনীয়তা সুরক্ষার সেরা বেট সহ ভিপিএনগুলি
কম্পিউটার

আপনার গোপনীয়তা সুরক্ষার সেরা বেট সহ ভিপিএনগুলি

থিও হ'ল একটি প্রযুক্তি জঙ্কি ক্রমাগত পরবর্তী বড় জিনিসটির সন্ধান করে।আমি নিজে একজন ভিপিএন ব্যবহারকারী হিসাবে আমার পক্ষে সবচেয়ে সেরা এটি খুঁজে পেতে আমি প্রায় বেশ কয়েকটি কেনাকাটা করেছি hopping এখ...
উইন্ডোজে কীভাবে বুটেবল ইউএসবি উবুন্টু ইনস্টলার তৈরি করবেন
কম্পিউটার

উইন্ডোজে কীভাবে বুটেবল ইউএসবি উবুন্টু ইনস্টলার তৈরি করবেন

ম্যাক্স একটি বি.এস. এসআইইউর গণসংযোগে, আমি ইউ এর যোগাযোগ থেকে এম.এ. এবং ওয়েবস্টার বিশ্ববিদ্যালয় থেকে এমবিএ অর্জন করছি।উবুন্টু অপারেটিং সিস্টেমটি হেলান। ফলস্বরূপ, একটি পুরানো কম্পিউটারে উবুন্টু ইনস্টল...