"একক অ্যাক্সেস-পয়েন্ট" বনাম পদ্ধতিতে চেইন করার ক্লাসিক ওওপি সমস্যা রয়েছে:
main.getA().getB().getC().transmogrify(x, y)
বনাম
main.getA().transmogrifyMyC(x, y)
প্রথমটির সুবিধাটি মনে হয় যে প্রতিটি শ্রেণি কেবলমাত্র একটি ছোট সংখ্যক ক্রিয়াকলাপের জন্য দায়ী, এবং সবকিছুকে আরও অনেক মডুলার করে তোলে - সিতে একটি পদ্ধতি যুক্ত করে এটি প্রকাশের জন্য এ, বি বা সি তে কোনও প্রচেষ্টা প্রয়োজন হয় না।
নেতিবাচক দিকটি অবশ্যই দুর্বল এনক্যাপসুলেশন , যা দ্বিতীয় কোডটি সমাধান করে। এখন এটির মধ্য দিয়ে যায় এমন প্রতিটি পদ্ধতির নিয়ন্ত্রণ রয়েছে এবং এটি চাইলে এটিকে তার ক্ষেত্রগুলিতে অর্পণ করতে পারে।
আমি বুঝতে পারি যে এর কোনও একক সমাধান নেই এবং অবশ্যই এটি প্রসঙ্গে নির্ভর করে তবে আমি দুটি শৈলীর মধ্যে অন্যান্য গুরুত্বপূর্ণ পার্থক্য সম্পর্কে কিছুটা ইনপুট শুনতে চাই এবং কোন পরিস্থিতিতে আমার মধ্যে দুটির মধ্যে কোনটি পছন্দ করা উচিত - কারণ এখনই, যখন আমি চেষ্টা করি কিছু কোড ডিজাইন করার জন্য, আমার মনে হয় যে আমি কেবল একটি উপায় বা অন্য সিদ্ধান্ত নিতে যুক্তি ব্যবহার করছি না।