জাভা বিমূর্ত শ্রেণির নামকরণ


9

উদাহরণ:

আপনি Ajax ক্রিয়াকলাপ জন্য একটি বিমূর্ত শ্রেণি তৈরি। বিভিন্ন অ্যাজাক্স ক্রিয়াগুলি এই শ্রেণিটি প্রসারিত করবে।

সমস্যা:

  1. আপনি কি ক্লাসটির নাম অ্যাজাক্স অ্যাকশন বা অ্যাবস্ট্রাক্ট এজাক্স অ্যাকশন?
  2. আপনি যখন সাবক্ল্যাস তৈরি করেন, আপনি কি তাদের নাম দিন:
    • কর্ম
    • AjaxAction
    • তারা কী তা কেবল তাদের নাম দিন

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

কোন অফিসিয়াল কনভেনশন আছে? আপনি কি আমাকে এর সাথে লিঙ্ক করতে পারেন? এবং এই বিষয়ে আপনার মতামত কি?

উত্তর:


16

সম্ভব হলে, আমি প্রয়োগের বিবরণগুলি একটি বিমূর্ত শ্রেণি বা ইন্টারফেসের জন্য উপসর্গ / প্রত্যয় সহ নামগুলির বাইরে রেখে চেষ্টা করি।

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

Download.oracle.com/javase/6 এ "সর্বজনীন বিমূর্ত শ্রেণি"

আপনি দেখতে পাবেন অ্যাবস্ট্রাক্ট ক্লাসগুলির নাম অ্যাবস্ট্রাক্ট এবং কংক্রিটের সাবক্লাসগুলির নামকরণ করা হয়েছে আরও কিছু কংক্রিট। উদাহরণস্বরূপ, বিমূর্ত বর্গ Readerকংক্রিট উপশ্রেণী রয়েছে BufferedReader, StringReader, InputStreamReader, ইত্যাদি

যেহেতু আপনার কংক্রিট সাবক্লাসগুলি আপনার বিমূর্ত শ্রেণীর আরও নির্দিষ্ট সংস্করণ, তাই এটি একইভাবে আপনার নামগুলি বেছে নেওয়ার উদ্দেশ্য প্রকাশ করে। আপনার উদাহরণস্বরূপ, আমি বিমূর্ত শ্রেণীর নাম দেব AjaxActionএবং এটি কংক্রিট সাবক্লাসের জন্য নামগুলিতে ব্যবহার করব ( SpecificAjaxAction)।


12

কিছু চয়ন করুন , এবং ধারাবাহিক হতে হবে। আপনি Baseউদ্দেশ্য ভিত্তিক শ্রেণি বা উপসর্গটি নির্দেশ করতে প্রত্যয়টি ব্যবহার করুন Abstractনা কেন এটি সম্পর্কে সামঞ্জস্য বজায় রাখুন।

প্রোগ্রামাররা যেমন আছে তেমন মতামত রয়েছে। আমার মতামত, এটির মূল্য কী, তার জন্য যেমন নামকরণের ধারাবাহিকতা, কোনও প্রকল্পের (বা উন্নয়ন গ্রুপ বা যা কিছু) কোনও নির্দিষ্ট নামকরণ প্রকল্পের চেয়ে গুরুত্বপূর্ণ।


4

আমি অ্যাবস্ট্রাক্ট ক্লাসের নাম করব AjaxActionBaseএবং 'অ্যাকশন' বা 'আজাক্স অ্যাকশন' এর সাথে প্রত্যয় শিশু ক্লাসের নাম দেব , যেগুলি আমার তৈরি করা ক্রিয়াকলাপগুলির জন্য প্রাকৃতিকভাবে পাঠযোগ্য।


0

আমি একটি ইঙ্গিত দিতে পছন্দ করি যে একটি সাধারণ তবে খুব গুরুত্বপূর্ণ কারণে একটি ক্লাস নামের মধ্যে বিমূর্ত রয়েছে :

  • অ্যাবস্ট্রাক্ট ক্লাসের চেয়ে ইন্টারফেসের আশেপাশে আপনার API গুলি তৈরি করা ভাল।
  • আপনি আপনার ইন্টারফেসটির নাম দেওয়ার জন্য সাধারণ নামটি যেমন "অ্যাকশন" ব্যবহার করতে চান। জাভা সংগ্রহগুলি এপিআই-তে উদাহরণ বা মানচিত্রের উদাহরণ দেখুন - এগুলি সমস্তই ইন্টারফেস।

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

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