JavaBeans
জাভাবিয়ান এমন একটি শ্রেণি যা সান দ্বারা সংজ্ঞায়িত জাভাবীনের সম্মেলনগুলি অনুসরণ করে। উইকিপিডিয়ায় জাভাবিয়ানগুলি কী তা সম্পর্কে খুব ভাল সংক্ষিপ্তসার রয়েছে:
জাভাবিয়ানস জাভা-র জন্য পুনরায় ব্যবহারযোগ্য সফ্টওয়্যার উপাদান যা কোনও বিল্ডার সরঞ্জামে দর্শনীয়ভাবে ম্যানিপুলেট করা যায়। ব্যবহারিকভাবে, এগুলি জাভা প্রোগ্রামিং ভাষায় লিখিত ক্লাস যা একটি নির্দিষ্ট সম্মেলনের সাথে সঙ্গতিপূর্ণ। এগুলি অনেকগুলি অবজেক্টকে একক বস্তুতে (বিন) আবদ্ধ করতে ব্যবহৃত হয়, যাতে একাধিক স্বতন্ত্র বস্তুর পরিবর্তে এগুলি একক বিন বিন হিসাবে ঘুরতে পারে। একটি জাভাবিয়ান একটি জাভা অবজেক্ট যা সিরিয়ালাইজযোগ্য, এর একটি নালারি কনস্ট্রাক্টর রয়েছে এবং গিটার এবং সেটার পদ্ধতি ব্যবহার করে সম্পত্তিগুলিতে অ্যাক্সেসের অনুমতি দেয়।
জাভাবিয়ান বর্গ হিসাবে কাজ করার জন্য, কোনও অবজেক্ট শ্রেণিকে পদ্ধতি নামকরণ, নির্মাণ এবং আচরণ সম্পর্কে কিছু নিয়মাবলী মেনে চলতে হবে। এই কনভেনশনগুলি জাভাবীনের ব্যবহার, পুনরায় ব্যবহার, প্রতিস্থাপন এবং সংযোগ করতে পারে এমন সরঞ্জামগুলি সম্ভব করে তোলে।
প্রয়োজনীয় সম্মেলনগুলি হ'ল:
- শ্রেণিতে অবশ্যই সর্বজনীন ডিফল্ট কনস্ট্রাক্টর থাকতে হবে। এটি সম্পাদনা এবং অ্যাক্টিভেশন ফ্রেমওয়ার্কগুলির মধ্যে সহজে ইনস্ট্যান্টেশন করতে দেয়।
- মানক নামকরণের কনভেনশন অনুসরণ করে শ্রেণীর বৈশিষ্ট্যগুলি গেট, সেট এবং অন্যান্য পদ্ধতিগুলি (তথাকথিত অ্যাকসেসর পদ্ধতি এবং মিউটর পদ্ধতি) ব্যবহার করে অ্যাক্সেসযোগ্য হতে হবে। এটি ফ্রেমওয়ার্কের মধ্যে শিমের রাজ্যের সহজ স্বয়ংক্রিয় পরিদর্শন এবং আপডেট করার অনুমতি দেয়, যার মধ্যে অনেকগুলি বিভিন্ন ধরণের বৈশিষ্ট্যের জন্য কাস্টম সম্পাদক রয়েছে।
- ক্লাসটি সিরিয়ালযোগ্য হওয়া উচিত। এটি অ্যাপ্লিকেশন এবং ফ্রেমওয়ার্কগুলিকে ভিএম এবং প্ল্যাটফর্মের চেয়ে আলাদা এমন ফ্যাশনে শিমের রাজ্যের নির্ভরযোগ্যভাবে সংরক্ষণ, সঞ্চয় এবং পুনরুদ্ধার করতে দেয়।
এই প্রয়োজনীয়তাগুলি ইন্টারফেস বাস্তবায়নের পরিবর্তে প্রচলিত কনভেনশন হিসাবে প্রকাশিত হওয়ায় কিছু বিকাশকারী জাভাবিয়ানদের সুনির্দিষ্ট নামকরণ কনভেনশনগুলি অনুসরণ করে সাদামাটা পুরানো জাভা অবজেক্ট হিসাবে দেখেন।
POJO
প্লেইন ওল্ড জাভা অবজেক্ট বা পজো হ'ল ওয়েট javax.ejb
ইজেবি ২.x (বিশেষত সত্তা বিনস, স্টেটলেস সেশন বিনগুলি খারাপ আইএমও নয়) এর বিপরীতে কোনও সাধারণ ইন্টারফেস বাস্তবায়ন না করে একটি সাধারণ হালকা ওজনের জাভা অবজেক্টকে মনোনীত করার জন্য প্রাথমিকভাবে পরিচিত একটি শব্দ । আজ, শব্দটি কোনও অতিরিক্ত জিনিস ছাড়াই কোনও সাধারণ অবজেক্টের জন্য ব্যবহৃত হয়। আবার, উইকিপিডিয়া POJO সংজ্ঞায়িত করতে ভাল কাজ করে :
পজো হ'ল সমান ওল্ড জাভা অবজেক্টের সংক্ষিপ্ত রূপ। নামটি জোর দেওয়ার জন্য ব্যবহৃত হয় যে প্রশ্নে থাকা অবজেক্টটি একটি সাধারণ জাভা অবজেক্ট, বিশেষ কোনও বস্তু নয় এবং বিশেষত কোনও এন্টারপ্রাইজ জাভাবিয়ান নয় (বিশেষত EJB 3 এর আগে)। এই শব্দটি তৈরি করেছিলেন মার্টিন ফোলার, রেবেকা পার্সনস এবং জোশ ম্যাকেনজি সেপ্টেম্বর 2000 সালে:
"আমরা অবাক হয়েছি কেন লোকেরা তাদের সিস্টেমে নিয়মিত জিনিস ব্যবহারের বিরুদ্ধে এত বিপক্ষে ছিল এবং এই সিদ্ধান্তে পৌঁছেছিল যে সাধারণ জিনিসের কোনও অভিনব নামের অভাব ছিল So তাই আমরা সেগুলি একটি দিয়েছি, এবং এটি খুব সুন্দরভাবে ধরা পড়েছে।"
শব্দটি প্রযুক্তিগুলির ক্ষেত্রে পুরানো শর্তগুলির ধাঁচকে অব্যাহত রেখেছে যেমন টেলিফোনিতে পটস (সমতল ওল্ড টেলিফোন পরিষেবা) এবং সিওএস + এ সংজ্ঞায়িত পিওডিএস (সাধারণ পুরাতন ডেটা স্ট্রাকচার) যেমন কেবল সি ভাষার বৈশিষ্ট্য ব্যবহার করে, এবং পার্লে পিওডি (সাধারণ পুরাতন ডকুমেন্টেশন)।
এই শব্দটি সম্ভবত একটি সাধারণ এবং সহজে বোঝা যায় এমন শব্দটির প্রয়োজন যা জটিল অবজেক্ট ফ্রেমওয়ার্কের সাথে বৈপরীত্যের কারণে ব্যাপকভাবে গ্রহণযোগ্যতা অর্জন করেছে। একটি জাভাবিয়ান একটি পজো যা সিরিয়ালাইজযোগ্য, কোনও অ-যুক্তি নির্মাণকারী রয়েছে এবং গেটর এবং সেটার পদ্ধতি ব্যবহার করে সম্পত্তিগুলিতে অ্যাক্সেসের অনুমতি দেয়। একটি এন্টারপ্রাইজ জাভাবিয়ান কোনও একক শ্রেণি নয়, পুরো উপাদান মডেল (আবার, ইজেবি 3 এন্টারপ্রাইজ জাভাবিনের জটিলতা হ্রাস করে)।
POJOs ব্যবহার করে নকশাগুলি আরও সাধারণভাবে ব্যবহৃত হয়ে উঠেছে, সিস্টেমগুলি তৈরি হয়েছে যা POJOs কে ফ্রেমওয়ার্কগুলিতে ব্যবহৃত কার্যকারিতার কিছু দেয় এবং কার্যকরীতার ক্ষেত্রগুলি আসলে কী প্রয়োজন তা সম্পর্কে আরও পছন্দ দেয় more হাইবারনেট এবং স্প্রিং এর উদাহরণ।
মান অবজেক্ট
একটি মান অবজেক্ট বা ভিও হ'ল একটি বস্তু যেমন java.lang.Integer
হোল্ড মানগুলি (অতএব মান বস্তু)। আরও আনুষ্ঠানিক সংজ্ঞার জন্য, আমি প্রায়শই মার্টিন ফাউলারের ভ্যালু অবজেক্টের বিবরণ উল্লেখ করি :
এন্টারপ্রাইজ অ্যাপ্লিকেশন আর্কিটেকচারের প্যাটার্নগুলিতে আমি মান অবজেক্টকে অর্থ বা তারিখের সীমা অবজেক্টের মতো একটি ছোট অবজেক্ট হিসাবে বর্ণনা করেছি। তাদের মূল সম্পত্তি হ'ল তারা রেফারেন্স শব্দার্থবিজ্ঞানের পরিবর্তে মান শব্দার্থতাকে অনুসরণ করে।
আপনি সাধারণত তাদের বলতে পারেন কারণ তাদের সমতার ধারণাটি পরিচয়ের ভিত্তিতে নয়, পরিবর্তে দুটি মান বস্তু সমান হয় যদি তাদের সমস্ত ক্ষেত্র সমান হয়। যদিও সমস্ত ক্ষেত্র সমান, আপনার যদি কোনও উপসেটটি অনন্য হয় তবে আপনাকে সমস্ত ক্ষেত্রের তুলনা করতে হবে না - উদাহরণস্বরূপ মুদ্রা অবজেক্টের জন্য মুদ্রার কোডগুলি সমতা পরীক্ষা করার জন্য যথেষ্ট।
একটি সাধারণ হিউরিস্টিক হ'ল মান বস্তুগুলি সম্পূর্ণ অপরিবর্তনীয়। আপনি যদি কোনও মান অবজেক্ট পরিবর্তন করতে চান তবে আপনার উচিত একটি নতুন বস্তুটি প্রতিস্থাপন করা উচিত এবং মান মানের মান নিজেই আপডেট করার অনুমতি দেওয়া উচিত নয় - আপডেটযোগ্য মান অবজেক্টগুলি আলিয়াসিং সমস্যাগুলিকে ডেকে আনে।
প্রারম্ভিক জে 2 ই ই সাহিত্যে একটি ভিন্ন ধারণা, যা আমি একটি ডেটা ট্রান্সফার অবজেক্ট বলি তা বর্ণনা করতে মান মান শব্দটি ব্যবহার করে । তারপরে তারা তাদের ব্যবহার পরিবর্তন করেছে এবং পরিবর্তে স্থানান্তর অবজেক্ট শব্দটি ব্যবহার করে ।
আপনি উইকিতে এবং ডার্ক রিহেলের দ্বারা মূল্য অবজেক্টগুলির জন্য আরও কিছু ভাল উপাদান খুঁজে পেতে পারেন ।
ডেটা স্থানান্তর অবজেক্ট
ডেটা ট্রান্সফার অবজেক্ট বা ডিটিও হ'ল একটি (অ্যান্টি) প্যাটার্ন যা ইজেবির সাথে প্রবর্তিত। ইজেবিগুলিতে অনেকগুলি রিমোট কল করার পরিবর্তে, ধারণাটি ছিল একটি নেটওয়ার্ক অবধি স্থানান্তরিত হতে পারে এমন কোনও মান অবজেক্টে ডেটা আবদ্ধ করা: একটি ডেটা ট্রান্সফার অবজেক্ট। উইকিপিডিয়ায় ডেটা ট্রান্সফার অবজেক্টের একটি শালীন সংজ্ঞা রয়েছে :
ডেটা ট্রান্সফার অবজেক্ট (ডিটিও), যা পূর্বে মান বস্তু বা ভিও হিসাবে পরিচিত, এটি একটি নকশার প্যাটার্ন যা সফ্টওয়্যার অ্যাপ্লিকেশন সাবসিস্টেমগুলির মধ্যে ডেটা স্থানান্তর করতে ব্যবহৃত হয়। ডিটিওগুলি প্রায়শই ডেটাবেস থেকে ডেটা পুনরুদ্ধার করতে ডেটা অ্যাক্সেস অবজেক্টের সাথে একত্রে ব্যবহৃত হয়।
ডেটা ট্রান্সফার অবজেক্টস এবং ব্যবসায়িক অবজেক্টস বা ডেটা অ্যাক্সেস অবজেক্টের মধ্যে পার্থক্য হ'ল কোনও ডিটিওর নিজস্ব ডেটা সঞ্চয় (অ্যাক্সেসর এবং মিউটর) সংগ্রহ এবং পুনরুদ্ধার ব্যতীত কোনও আচরণ নেই।
একটি traditionalতিহ্যবাহী ইজেবি আর্কিটেকচারে, ডিটিওগুলি দ্বৈত উদ্দেশ্যে পরিবেশন করে: প্রথমত, তারা এই সমস্যাটি নিয়ে কাজ করে যে সত্তা মটরশুটি সিরিয়ালাইজযোগ্য নয়; দ্বিতীয়ত, তারা স্পষ্টভাবে একটি অ্যাসেমবিলি পর্বটি সংজ্ঞায়িত করে যেখানে উপস্থাপনা স্তরে নিয়ন্ত্রণ ফিরে আসার আগে ভিউ দ্বারা ব্যবহার করা সমস্ত ডেটা ডিটিওগুলিতে আনয়ন এবং মার্শাল করা হয়।
সুতরাং, অনেক লোকের জন্য, ডিটিও এবং ভিওগুলি একই জিনিস (তবে ফওলর ভিওএসকে অন্য কিছু বোঝার জন্য ব্যবহার করে যা আমরা দেখেছি)। বেশিরভাগ সময়, তারা জাভাবীনের সম্মেলনগুলি অনুসরণ করে এবং এইভাবে জাভাবিয়ানও হয়। এবং সমস্ত POJOs।