এই পদ্ধতিগুলি ব্যবহার করে এমন ক্লায়েন্ট কোডগুলি ভঙ্গ করা রোধ করার জন্য এপিআই / সর্বজনীন পদ্ধতির স্বাক্ষরে পরিবর্তনগুলি ন্যূনতম হওয়া উচিত, আমি ভাবছিলাম যে লিমিটারের আইনগুলি এর জন্য কম প্রয়োগ হয় কিনা।
একটি সহজ উদাহরণ:
class Account() {
double balance;
public void debit(Transaction t) {
balance -= t.getAmount();
}
}
লক্ষ্য করুন যে ডেবিট পদ্ধতিটি কেবল দ্বিগুণ পরিমাণের চেয়ে লেনদেন অবজেক্টকে পাস করে ('লিমিটার অফ ডিমিটার', যেমনটি আমি এটি বুঝতে পারি, কেবল প্রয়োজনীয় তথ্য পাস করার জন্য বলব, এই পরিমাণে কেবল পরিমাণ, লেনদেন অবজেক্ট নয় ... )। এর পেছনের কারণটি হ'ল ভবিষ্যতে পদ্ধতির জন্য পরিমাণ থেকে আলাদা কিছু লেনদেনের বৈশিষ্ট্য প্রয়োজন হতে পারে। আমি যা বুঝি তা থেকে এটি ভবিষ্যতে নতুন প্যারামিটার যুক্ত করে পদ্ধতি স্বাক্ষর ভঙ্গ করা রোধ করবে।
এটি কি তখন এটিকে বোধগম্য পছন্দ করে? নাকি আমি কিছু মিস করছি?