Clean Architecture in ANDROID Application

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

বেসিকগুলি শিখুন: অ্যান্ড্রয়েডে পরিষ্কার আর্কিটেকচার

সুতরাং, পরিষ্কার আর্কিটেকচার আসলে কি? এটির জন্য উন্নয়ন ব্যবস্থার একটি সেট প্রয়োজন যা একটি কার্যকর পণ্য তৈরি করতে দেয়:

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

উদাহরণ মডেল

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

স্থাপত্য স্তর

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

শর্তটি বাস্তবায়নের জন্য, আমি পুরো প্রকল্পটি 3 টি বিভিন্ন স্তরে বিভক্ত করার পরামর্শ দিচ্ছি। তাদের প্রত্যেকের নির্দিষ্ট উদ্দেশ্য রয়েছে এবং সে নিজেই কাজ করতে পারে।

মনে রাখবেন যে প্রতিটি স্তর অনন্য ডেটা মডেল বৈশিষ্ট্যযুক্ত। সুতরাং তারা নির্ভরতা এড়াতে সক্ষম হয়। শেষ কোডে, আপনাকে ডেটা ফর্ম্যাটিংয়ের জন্য ডেটা স্ক্যামার প্রয়োগ করতে হবে। এটি মডেলের অযাচিত ক্রস-ব্যবহার রোধ করতে সহায়তা করবে।

প্রক্রিয়াটির পরিকল্পনামূলক চিত্র দেখুন এবং মনে রাখবেন যে চাকাটি পুনরায় ইনস্টল করার দরকার নেই:

স্তর 1: উপস্থাপনা

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

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

স্তর 2: ডোমেনগুলি

এই এক সমস্ত যুক্তি প্রক্রিয়া আছে। আপনি এখানে সম্পর্কিত সমস্ত রূপান্তরকারীদের অবতার (ব্যবহারের কেস )ও পাবেন। এটি ব্যবসায়ের সমস্ত নিয়মের জায়গা।

প্রযুক্তিগতভাবে এটি জাভা কোডের একটি প্রাথমিক অংশ, কোনও অ্যান্ড্রয়েড নেই। সুতরাং, যে কোনও বাহ্যিক বাধ্যতামূলক অবজেক্টগুলি ব্যবসায়িক অবজেক্টগুলি যুক্ত করার সময় কেবল ইন্টারফেসগুলি ব্যবহার করে অবলম্বন করে।

স্তর 3: তথ্য

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

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

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

ত্রুটিগুলির দিকে মনোযোগ দিন

এই সমস্যার কোনও সুস্পষ্ট উত্তর নেই, তাই আমরা ফ্রিপ্পস.টপ-এ দেওয়া মন্তব্যে আপনার পরামর্শের জন্য কৃতজ্ঞ হব।

মূল পদ্ধতিটি হ’ল কলব্যাক বাস্তবায়ন করা, তবে উদাহরণস্বরূপ ডেটা সংগ্রহের সমস্যা দেখা দিতে পারে। আপনি এখানে কলব্যাক 1 [onResponse ()] বা 2 [অনারার ()] প্রয়োগ করতে পারেন।

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

Leave a Reply

Your email address will not be published. Required fields are marked *