আমি .NET এ কোড চুক্তি সম্পর্কে শিখছি, এবং আমি খাঁটি নির্মাণকারীদের ধারণাটি বোঝার চেষ্টা করছি। কোড চুক্তি ডকুমেন্টেশন পদ বলে:
চুক্তির মধ্যে ডাকা সমস্ত পদ্ধতি অবশ্যই খাঁটি হতে হবে; অর্থাৎ, তাদের অবশ্যই কোনও পূর্ববর্তী অবস্থা স্থিতি আপডেট করতে হবে না। খাঁটি পদ্ধতিতে প্রবেশের পরে তৈরি করা বস্তুগুলিকে সংশোধন করার জন্য একটি খাঁটি পদ্ধতি অনুমোদিত is
এবং PureAttribute
নথিতে বলা হয়েছে:
ইঙ্গিত করে যে কোনও প্রকার বা পদ্ধতি খাঁটি, অর্থাত্ এটি কোনও দৃশ্যমান স্থিতি পরিবর্তন করে না।
পদ্ধতিগুলির ক্ষেত্রে আমি এই বিবৃতিগুলি বুঝতে পারি, তবে নির্মাণকারীদের কী হবে? ধরুন আপনার ক্লাসটি এরকম ছিল:
public class Foo
{
public int Value { get; set; }
public Foo(int value) {
this.Value = value;
}
}
এই কনস্ট্রাক্টর স্পষ্টতই নতুন Foo
অবজেক্টের অবস্থাকে প্রভাবিত করে , তবে এর কোনও অন্যান্য পার্শ্ব প্রতিক্রিয়া নেই (যেমন এটি কোনও পরামিতিগুলিকে ম্যানিপুলেট করে না বা কোনও খাঁটি পদ্ধতিতে কল করে না)। এটি প্রার্থী [Pure]
নাকি না? [Pure]
কোনও কনস্ট্রাক্টরের উপর কোনও বৈশিষ্ট্য রাখার তাৎপর্য কী এবং আমি নিজের কোডে কখন এটি করব?