লিনকিউ বনাম ডেটা অ্যাক্সেস লেয়ার


10

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

আমার বেশিরভাগ হোম প্রকল্পের জন্য, আমি আমার নিজের তৈরি ওআরএম ব্যবহার করব, যা আমি সর্বদা উন্মুক্ত উত্স তৈরির উদ্দেশ্যে রেখেছিলাম। তবে তার পর থেকে লিনকিউ উপলব্ধ হয়ে গেছে, যা আমার ওআরএম কাজ করার সাথে খুব মিল (তবে .. আরও ভাল)।

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

সম্পাদনা:

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

উত্তর:


7

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

এটি ইউনিট পরীক্ষায় সহায়তা করবে , কারণ সহজেই সংগ্রহস্থলগুলি উপহাস করা যায়।


6

আপনার এখনও একটি ডাল থাকতে পারে, এটি কেবল আপনি আগে ব্যবহার করেছেন তার পরিবর্তে এসকিউএল-তে LINQ ব্যবহার করতে পারে। যেভাবেই হোক আমি এটি করি। ডেটা অ্যাক্সেস করতে আপনার বিএলএল সরাসরি এসকিউএল থেকে লিনকিউ ব্যবহার করবেন না।


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

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

2

লিনক ডেটা অ্যাক্সেস সম্পর্কে নয়, আপনি যে কোনও দিকে লিনক ব্যবহার করতে পারেন IEnumerable

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

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


1

আপনি যদি না চান আপনার "ব্যবসায়িক লজিক স্তর" লেনদেন এবং ক্যোয়ারী কার্য সম্পাদনকে সম্বোধন করতে পারে, তবুও একটি ডালের প্রয়োজন।

লিনকিউ ক্যোয়ারী ঘোষণাকে একটি ডিজাইন-সময় (ওরফে, সংকলক পরীক্ষা করা) প্রক্রিয়া করে।

লিনকিউ ক্যোয়ারী সরবরাহকারী (যেমন লিনকটোসকিএল এবং লিনকটো টু এন্টটিটিস) এখনও স্কেল টেক্সটে ঘোষিত প্রশ্নগুলির রান-টাইম রূপান্তর করে। তারপরে ডিবিএমএস এখনও রান-টাইম ক্যোয়ারী ব্যাখ্যা, রান-টাইম ক্যোয়ারী প্ল্যান জেনারেশন ইত্যাদি করে

এগুলি ডালের একটি ছোট্ট অংশ।

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