নভেম্বর 2018 আপডেট করুন
বেশ কয়েক বছর অ্যান্ড্রয়েডে এমভিসি এবং এমভিপি নিয়ে কাজ করার পরে এবং ব্লগ করার পরে (নীচের উত্তরের অংশটি দেখুন), আমি আরও জ্ঞান এবং বোঝাকে আরও ব্যাপক এবং সহজে হজমযোগ্য আকারে ক্যাপচার করার সিদ্ধান্ত নিয়েছি।
সুতরাং, আমি অ্যান্ড্রয়েড অ্যাপ্লিকেশন আর্কিটেকচার সম্পর্কে একটি সম্পূর্ণ প্রস্ফুটিত ভিডিও কোর্স প্রকাশ করেছি। সুতরাং, আপনি যদি অ্যান্ড্রয়েড বিকাশে সর্বাধিক উন্নত স্থাপত্য নিদর্শনগুলিতে আয়ত্ত করতে আগ্রহী হন তবে এই বিস্তৃত কোর্সটি এখানে দেখুন ।
এই উত্তরটি ২০১ 2016 সালের নভেম্বর পর্যন্ত প্রাসঙ্গিক থাকার জন্য আপডেট করা হয়েছিল was
দেখে মনে হচ্ছে আপনি জন্য সচেষ্ট হয় স্থাপত্য নিদর্শন বদলে নকশা নিদর্শন ।
ডিজাইন নিদর্শনগুলির লক্ষ্য হল একটি সাধারণ "কৌশল" বর্ণনা করা যা প্রোগ্রামার পুনরাবৃত্তিযোগ্য সফ্টওয়্যার কার্যগুলির একটি নির্দিষ্ট সেট পরিচালনা করার জন্য প্রয়োগ করতে পারে। উদাহরণস্বরূপ: ওওপি-তে, যখন কিছু ইভেন্ট সম্পর্কে অন্য কোনও সামগ্রীর সেটকে অবহিত করার জন্য কোনও সামগ্রীর প্রয়োজন হয়, তখন পর্যবেক্ষক নকশার ধরণটি কাজে লাগানো যায়।
যেহেতু অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি (এবং বেশিরভাগ এওএসপি) জাভাতে লিখিত, যা বস্তু-ভিত্তিক, তাই আমি মনে করি যে অ্যান্ড্রয়েডে ব্যবহৃত হয় না এমন একটি একক ওওপি নকশার প্যাটার্ন খুঁজতে আপনার খুব কষ্ট হবে।
অন্যদিকে, স্থাপত্য নিদর্শনগুলি নির্দিষ্ট সফ্টওয়্যার কার্যগুলিকে সম্বোধন করে না - তাদের লক্ষ্য রয়েছে যে প্রশ্নে থাকা সফ্টওয়্যার উপাদানটির ব্যবহারের ক্ষেত্রে ভিত্তিক সফ্টওয়্যার সংস্থার জন্য টেমপ্লেট সরবরাহ করা ।
এটি কিছুটা জটিল মনে হচ্ছে, তবে আমি আশা করি যে একটি উদাহরণ স্পষ্ট হবে: যদি কোনও অ্যাপ্লিকেশন কোনও দূরবর্তী সার্ভার থেকে ডেটা আনার জন্য এবং কাঠামোগত উপায়ে ব্যবহারকারীর কাছে উপস্থাপন করতে ব্যবহৃত হয়, তবে এমভিসি বিবেচনার জন্য একটি ভাল প্রার্থী হতে পারে। নোট করুন যে আমি সফ্টওয়্যার টাস্ক এবং অ্যাপ্লিকেশনটির প্রোগ্রাম প্রবাহ সম্পর্কে কিছুই বলিনি - আমি এটি কেবল ব্যবহারকারীর দৃষ্টিকোণ থেকে বর্ণনা করেছি এবং কোনও স্থাপত্য বিন্যাসের জন্য একজন প্রার্থী আবির্ভূত হয়েছেন।
যেহেতু আপনি আপনার প্রশ্নে এমভিসির কথা উল্লেখ করেছেন তাই আমি অনুমান করতে পারি যে আপনি যা খুঁজছেন তা স্থাপত্য নিদর্শনগুলি।
![এখানে চিত্র বিবরণ লিখুন](https://i.stack.imgur.com/EVpWm.png)
.তিহাসিকভাবে, অ্যাপ্লিকেশনগুলির আর্কিটেকচার সম্পর্কে গুগলের কোনও অফিশিয়াল গাইডলাইন ছিল না, যা (অন্যান্য কারণে) অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির উত্স কোডটিতে মোট গোলমাল তৈরি করেছিল। প্রকৃতপক্ষে, আজও বেশিরভাগ অ্যাপ্লিকেশনগুলি যা আমি দেখতে পাই সেগুলি এখনও ওওপি সেরা অভ্যাসগুলি অনুসরণ করে না এবং কোডের একটি সুস্পষ্ট লজিকাল সংগঠন দেখায় না।
তবে আজ পরিস্থিতি অন্যরকম - গুগল সম্প্রতি ডেটা বাইন্ডিং লাইব্রেরি প্রকাশ করেছে , যা অ্যান্ড্রয়েড স্টুডিওর সাথে পুরোপুরি সংহত, এবং এমনকি অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির জন্য আর্কিটেকচার ব্লুপ্রিন্টগুলির একটি সেট তৈরি করেছে ।
দু'বছর আগে অ্যান্ড্রয়েডে এমভিসি বা এমভিপি সম্পর্কিত তথ্য পাওয়া খুব কঠিন ছিল। আজ, এমভিসি, এমভিপি এবং এমভিভিএম অ্যান্ড্রয়েড সম্প্রদায়ের "গুঞ্জন-শব্দ" হয়ে উঠেছে এবং আমরা চারপাশে অগণিত বিশেষজ্ঞ রয়েছি যা প্রতিনিয়ত আমাদের বোঝাতে চেষ্টা করে যে এমভিএক্সের চেয়ে এমভিএক্স ভাল। আমার মতে, এমভিএক্সের চেয়ে এমভিএক্স আরও ভাল কিনা তা আলোচনা সম্পূর্ণ অর্থহীন কারণ শর্তাদি নিজেরাই খুব অস্পষ্ট - কেবল এই প্রশ্নের উত্তরগুলি দেখুন , এবং আপনি বুঝতে পারবেন যে বিভিন্ন ব্যক্তি এই সংক্ষিপ্তরগুলি সম্পূর্ণ আলাদা কনস্ট্রাক্টের সাথে সংযুক্ত করতে পারেন।
অ্যান্ড্রয়েডের জন্য সর্বোত্তম আর্কিটেকচারাল প্যাটার্নের অনুসন্ধান আনুষ্ঠানিকভাবে শুরু হয়েছে এই কারণে, আমি মনে করি আমরা আরও বেশ কয়েকটি ধারণা প্রকাশিত হতে চলেছি। এই মুহুর্তে, ভবিষ্যতে কোন প্যাটার্ন (বা নিদর্শনগুলি) শিল্পের মান হয়ে উঠবে তা ভবিষ্যদ্বাণী করা সত্যিই অসম্ভব - আমাদের অপেক্ষা করতে হবে এবং দেখতে হবে (আমার ধারণা এটি এক বা দু'বছরের বিষয়))
তবে, একটি আত্মবিশ্বাসের উচ্চ ডিগ্রি নিয়ে আমি একটি ভবিষ্যদ্বাণী করতে পারি: ডেটা বন্ডিং লাইব্রেরির ব্যবহার শিল্প মান হিসাবে পরিণত হবে না। আমি বলার জন্য আত্মবিশ্বাসী যেহেতু ডেটা বাইন্ডিং লাইব্রেরি (এটির বর্তমান বাস্তবায়নে) স্বল্প-মেয়াদী উত্পাদনশীলতা লাভ এবং এক ধরণের আর্কিটেকচারাল গাইডলাইন সরবরাহ করে তবে এটি কোডটি দীর্ঘমেয়াদে অ-রক্ষণাবেক্ষণযোগ্য করে তুলবে। একবার এই গ্রন্থাগারের দীর্ঘমেয়াদী প্রভাবগুলি প্রকাশিত হবে - এটি পরিত্যক্ত হবে।
এখন, যদিও আমাদের কাছে আজ কিছু ধরণের অফিশিয়াল গাইডলাইন এবং সরঞ্জাম রয়েছে তবে আমি ব্যক্তিগতভাবে মনে করি না যে এই নির্দেশিকা এবং সরঞ্জামগুলি সর্বোত্তম বিকল্প উপলব্ধ (এবং তারা অবশ্যই একমাত্র নয়)। আমার অ্যাপ্লিকেশনগুলিতে আমি একটি এমভিসি আর্কিটেকচারের নিজস্ব প্রয়োগ ব্যবহার করি। এটি সহজ, পরিষ্কার, পঠনযোগ্য এবং পরীক্ষামূলক এবং এটির জন্য কোনও অতিরিক্ত লাইব্রেরির প্রয়োজন নেই।
এই এমভিসি কেবল অন্যদের থেকে কসমেটিকালি আলাদা নয় - এটি এমন একটি তত্ত্বের ভিত্তিতে তৈরি হয় যে অ্যান্ড্রয়েডের ক্রিয়াকলাপগুলি ইউআই উপাদান নয় , যা কোড সংস্থার উপর দুর্দান্ত প্রভাব ফেলে।
সুতরাং, যদি আপনি অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির জন্য সোলিড নীতি অনুসরণ করে একটি ভাল স্থাপত্য প্যাটার্ন সন্ধান করছেন , আপনি অ্যান্ড্রয়েডে এমভিসি এবং এমভিপি আর্কিটেকচারাল ধরণ সম্পর্কে আমার পোস্টে একটির বর্ণনা পেতে পারেন ।