অ্যান্ড্রয়েড বিকাশে ওআরএম ব্যবহার করা কি বোধগম্য?


27

অ্যান্ড্রয়েড বিকাশে কোনও ওআরএম ব্যবহার করা কি বোধগম্য নয় বা কাঠামোটি ইউআই এবং ডিবি স্তরটির মধ্যে শক্ততর সংযোগের জন্য অনুকূলিত হয়েছে?


পটভূমি : আমি সবেমাত্র অ্যান্ড্রয়েড বিকাশ দিয়ে শুরু করেছি এবং আমার প্রথম প্রবৃত্তিটি (। নেট ব্যাকগ্রাউন্ড থেকে আগত) হ'ল একটি ছোট অবজেক্ট-রিলেশনাল ম্যাপার এবং অন্যান্য সরঞ্জামগুলি সন্ধান করা যা বয়লারপ্লেট ক্লোড হ্রাস করতে সহায়তা করে (যেমন পজোস + অর্মলাইট + লম্বোক )।

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


ব্যাখ্যা : আমি ORM ব্যবহার করে সুফল বেশ সচেতন আছি সাধারণভাবে , আমি বিশেষভাবে কত ভাল অ্যান্ড্রয়েড বর্গ গ্রন্থাগার এটি সঙ্গে বরাবর পালন করে সম্পর্কে আগ্রহী।

উত্তর:


20

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

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

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

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


6

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

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

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