আমার সহকর্মীরা আমাকে বলছেন যে গেটার্স এবং সেটারগুলিতে যতটা সম্ভব যুক্তিযুক্ত হওয়া উচিত।
তবুও, আমি নিশ্চিত যে প্রয়োগকারীদের বিশদ থেকে ব্যবহারকারী / প্রোগ্রামারদের রক্ষা করার জন্য প্রচুর স্টাফ গ্রাহক এবং সেটটারে লুকিয়ে রাখা যেতে পারে।
আমি যা করি তার একটি উদাহরণ:
public List<Stuff> getStuff()
{
if (stuff == null || cacheInvalid())
{
stuff = getStuffFromDatabase();
}
return stuff;
}
কীভাবে কাজ আমাকে কাজগুলি করতে বলে তার উদাহরণ (তারা আঙ্কেল বব থেকে 'ক্লিন কোড' উদ্ধৃত করে):
public List<Stuff> getStuff()
{
return stuff;
}
public void loadStuff()
{
stuff = getStuffFromDatabase();
}
একটি সেটার / গেটারে কত যুক্তি যুক্ত? ডেটা আড়াল করার লঙ্ঘন বাদে খালি গেটার এবং সেটটার ব্যবহার কী?
public List<Stuff> getStuff() { return stuff; }
StuffGetter
ইন্টারফেস তৈরি করুন , StuffComputer
গণনা করে এমন একটি বাস্তবায়ন করুন এবং এটি কোনও বস্তুর ভিতরে গুটিয়ে রাখুন StuffCacher
, যা ক্যাশে অ্যাক্সেস করার জন্য বা StuffComputer
যে কলকে আবৃত করে তার কল ফরোয়ার্ড করার জন্য দায়ী ।