ভান্ডার এবং পরিষেবার মধ্যে পার্থক্য?


105

একটি সংগ্রহস্থল এবং একটি পরিষেবার মধ্যে পার্থক্য কি? আমি এটা উপলব্ধি করা হয় না বলে মনে হচ্ছে।

আমি একটি ডেটা অ্যাক্সেস লেয়ারের মাধ্যমে ডেটা অ্যাক্সেসের কথা বলছি, সাধারণত লিনক থেকে এসকিএল দিয়ে।

আমি প্রায়শই সাধারণ সিআরইউডি পদ্ধতির রিপোজিটরিগুলি এবং আরও ব্যবসায়-নির্দিষ্ট পদ্ধতির পরিষেবাগুলি দেখি।

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

যেমনটি আমি বলেছি, সংগ্রহস্থলগুলি CRUD- জাতীয় ক্রিয়াকলাপগুলির জন্য আরও বেশি এবং পরিষেবাগুলি আরও ব্যবসায়িকমুখী বলে মনে হয়।

ধন্যবাদ


আপনি কি পরিষ্কার করতে পারেন? কোন প্রসঙ্গে? বেশিরভাগ শব্দের মতো, এই শব্দগুলি যে প্রসঙ্গে ব্যবহৃত হচ্ছে তা অর্থ সংজ্ঞা দিতে সহায়তা করে।
ডেভিড

2
দ্রষ্টব্য: আমি এখানে ওয়েব পরিষেবাদি বা কিছু সম্পর্কে কথা বলছি না। আমি একটি ডেটা স্তর মাধ্যমে ডেটা অ্যাক্সেস সম্পর্কে কথা বলছি।
অ্যালেক্সন

উত্তর:


78

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

একটি পরিষেবা আপনার অ্যাপ্লিকেশনটি পরিচালনা করার জন্য প্রয়োজনীয় সমন্বয় বা অন্যান্য "পরিষেবা" সরবরাহ করে। তারা পরিষেবায় ভিন্ন সাধারণত অধ্যবসায় থেকে ডেটা অ্যাক্সেস করতে কিভাবে জানি না, আর ভান্ডার সাধারণত শুধুমাত্র ডেটা অ্যাক্সেস / কোনো পরিষেবার আপনি হয়ত জন্য অবজেক্ট।


19
আমি বলব যে একটি সংগ্রহস্থল হ'ল এক ধরণের পরিষেবা যা ডেটা অ্যাক্সেসের জন্য ব্যবহৃত হয়।
ইয়ান রিংরোজ

5
এটি এই অর্থে একটি সূক্ষ্ম সংজ্ঞা যে আমরা লিখি প্রায় প্রতিটি স্তরই কোনও না কোনও পর্যায়ে একটি "পরিষেবা", তবে এটি কোনও সংগ্রহস্থলকে বস্তুর সংগ্রহ হিসাবে গণ্য করার মূল ধারণাটি হারিয়ে ফেলে ।
jlembke

4
আপনি যদি ইউনিট পরীক্ষা করে তোলেন তবে ডাটাবেস এড়ানোর জন্য প্রয়োজনীয় উপহাসকে হ্রাস করতে সর্বনিম্ন বিমূর্ততা হিসাবে ভাণ্ডারগুলি ভাবা আরও পরিষ্কার হতে পারে।
হেনরি হাইকিনেন

repository= collectionথেকে backbone.jsবা repository= serviceথেকে angular?
স্লাইডশোপ 2

159

সংগ্রহস্থলটি যেখানে ডেটা সংরক্ষণ করা হয়। পরিষেবা হ'ল ডেটা ম্যানিপুলেট করে।

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


7
এই উত্তরের জন্য ধন্যবাদ! সহজ এবং সংক্ষিপ্ত।
অ্যালেক্সন

1
উপরোক্ত মন্তব্যে একমত! বাস্তব বিশ্বের ব্যাখ্যা ভাল প্রেম!
ক্লিঘ

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

1
আমি সন্দেহ করি যে গ্রাহকরা এই বাস্তবায়ন সম্পর্কে জানতে চান, @ ডেনিস
চকি

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

12

আমি প্রথম চেষ্টা হিসাবে বলতে চাই, সাধারণ অর্থে (যতক্ষণ না আপনি যদি আরও একটি প্রসঙ্গ না দিয়ে থাকেন):

  • একটি সংগ্রহস্থল হ'ল আপনি যেখানে কিছু বিশ্বব্যাপী অবজেক্ট রাখেন, পরে ব্যবহার করার জন্য।
  • একটি সেবা একটি ব্যবসা যুক্তিবিজ্ঞান কোড, স্পষ্ট তৈরি (এবং আদর্শভাবে উপস্থাপনা স্তর, এবং ডাটাবেস স্তর থেকে পৃথক?)

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

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