আমার একটি দুটি অংশের প্রশ্ন আছে
ভাল অভ্যাস
- আমার কাছে একটি অ্যালগরিদম আছে যা পাবলিক ইন্টারফেস ব্যবহার করে কোনও ডেটা স্ট্রাকচারে কিছু অপারেশন করে
- এটি বর্তমানে একটি স্থিতিশীল পদ্ধতি সহ একটি মডিউল যা একটি পাবলিক ইন্টারফেস পদ্ধতি ব্যতীত সমস্ত ব্যক্তিগত।
- একটি পদ্ধতির পরিবর্তনশীল রয়েছে যা সমস্ত পদ্ধতির মধ্যে ভাগ করে নেওয়া দরকার।
এই বিকল্পগুলি আমি দেখতে পাচ্ছি, কোনটি সেরা ?:
- মডিউল স্ট্যাটিক (রুবি এ 'মডিউল') দিয়ে পদ্ধতি
- স্থির পদ্ধতি সহ ক্লাস
- ডেটা স্ট্রাকচারের অন্তর্ভুক্তির জন্য মিক্সিন মডিউল
- অ্যালগরিদমের সেই অংশটি রিফ্যাক্টর যা ডাটা স্ট্রাকচারকে (খুব ছোট) পরিবর্তন করে এবং এমন একটি মিক্সিন তৈরি করে যা অ্যালগরিদম মডিউলের স্থির পদ্ধতিগুলিকে ডাকে
প্রযুক্তিগত অংশ
একটি ব্যক্তিগত মডিউল পদ্ধতি তৈরি করার কোনও উপায় আছে ?
module Thing
def self.pub; puts "Public method"; end
private
def self.priv; puts "Private method"; end
end
private
সেখানে কোনো প্রভাব বলে মনে হচ্ছে না আমি এখনও কল করবো Thing.priv
ইস্যু ছাড়াই।
private
শ্রেণীর পদ্ধতিগুলিতে নয় কেবল উদাহরণের পদ্ধতিগুলিকেই প্রভাবিত করে। private_class_method
পরিবর্তে ব্যবহার করুন:module Thing; def self.pub; end; private_class_method :pub; end