ঠিক আছে, সুতরাং শিরোনামটি একটু ক্লিকবেইটি তবে সিরিয়াসলি আমি বলছি, কিছুক্ষণ কিক না জিজ্ঞাসা করুন । আমি পছন্দ করি এটি কীভাবে সত্য বস্তু-ভিত্তিক ফ্যাশনে বার্তা হিসাবে ব্যবহারের পদ্ধতিগুলিকে উত্সাহ দেয় । তবে এটি একটি উত্তেজনাপূর্ণ সমস্যা যা আমার মাথায় ঘুরপাক খাচ্ছে।
আমি সন্দেহ করতে এসেছি যে সু-লিখিত কোড একই সময়ে ওও নীতিগুলি এবং কার্যকরী নীতিগুলি অনুসরণ করতে পারে। আমি এই ধারণা ও বড় স্টিকিং পয়েন্ট যে আমি তার উপর অবতরণ করেছে থাকেন মিলনসাধন চেষ্টা করছি return
।
একটি খাঁটি ফাংশন দুটি গুণ আছে:
একই ইনপুটগুলির সাথে বার বার কল করা একই ফলাফল দেয়। এ থেকে বোঝা যায় যে এটি অপরিবর্তনীয়। এর রাজ্যটি একবারেই সেট করা আছে।
এটি কোনও পার্শ্ব প্রতিক্রিয়া তৈরি করে। এটিকে কল করার ফলে ঘটে যাওয়া একমাত্র পরিবর্তনই ফলাফল তৈরি করছে।
সুতরাং, যদি আপনি নিজের return
যোগাযোগের ফলাফলের উপায় হিসাবে ব্যবহার করে শপথ করে থাকেন তবে কীভাবে সম্পূর্ণরূপে কার্যকরী হবে ?
বলছি, চাই না কিছু কি একটি পার্শ্ব প্রতিক্রিয়া বিবেচনা করবে ব্যবহার করে ধারণা কাজ করে। আমি যখন কোনও বস্তুর সাথে ডিল করি তখন আমি এর অভ্যন্তরীণ অবস্থা সম্পর্কে জিজ্ঞাসা করি না। আমি এটি বলি যে আমার কী করা দরকার এবং এটি এর অভ্যন্তরীণ পরিস্থিতিটি ব্যবহার করে আমি এটি করার জন্য যা বলেছি তার সাথে কি করব figure একবার এটি বলার পরে আমি এটি জিজ্ঞাসা করব না এটি কী করেছিল। আমি কেবল এটি প্রত্যাশা করি যা এটি করতে বলা হয়েছিল সে সম্পর্কে কিছু করেছে।
আমি বলি, এনক্যাপসুলেশনের জন্য আলাদা নামের চেয়ে বেশি জিজ্ঞাসা করি না think আমি যখন ব্যবহার return
করি তখন আমার কী ধারণা হয় তা আমার কোনও ধারণা নেই। আমি এটি প্রোটোকল বলতে পারি না, আমার প্রোটোকলটি মোকাবেলায় আমাকে বাধ্য করতে হবে। যা অনেক ক্ষেত্রে অভ্যন্তরীণ রাষ্ট্র হিসাবে প্রকাশিত হয়। এমনকি যদি উদ্ভাসিত হয় ঠিক না হয় তবে এটি সাধারণত রাষ্ট্র এবং ইনপুট আর্গগুলিতে কিছু গণনা সম্পাদিত হয়। অঙ্গীকারের মাধ্যমে সাড়া দেওয়ার জন্য একটি ইন্টারফেস থাকার ফলে ফলাফলগুলি অভ্যন্তরীণ অবস্থা বা গণনার চেয়ে আরও বেশি অর্থবহ কিছুতে ম্যাসেজ করার সুযোগ রয়েছে। এটি বার্তা পাসিং । এই উদাহরণটি দেখুন ।
দিনের পথে, যখন ডিস্ক ড্রাইভগুলিতে তাদের মধ্যে ডিস্ক ছিল এবং একটি থাম্ব ড্রাইভ ছিল আপনি গাড়ীতে যা করেছিলেন যখন চাকাটি আপনার আঙ্গুলগুলির সাথে স্পর্শ করার জন্য খুব শীতল ছিল, তখন আমাকে শিখানো হয়েছিল যে বিরক্তিকর লোকেরা কীভাবে পরামিতিগুলির কার্যকারিতা বিবেচনা করে। void swap(int *first, int *second)
খুব সুবিধাজনক মনে হলেও আমাদের ফলস্বরূপ ফাংশন লিখতে উত্সাহিত করা হয়েছিল। তাই আমি এটিকে বিশ্বাসের প্রতি মনোযোগ দিয়েছিলাম এবং এটি অনুসরণ করতে শুরু করি।
তবে এখন আমি দেখছি লোকেরা আর্কিটেকচার তৈরি করছে যেখানে বস্তুগুলি কীভাবে তাদের ফলাফলগুলি প্রেরণ করে সেখানে নিয়ন্ত্রণ তৈরি করা দেয়। এখানে একটি উদাহরণ বাস্তবায়ন । আউটপুট পোর্ট অবজেক্টটি ইনজেকশন করা আবার পুরোপুরি আউট প্যারামিটার ধারণার মতো মনে হয়। তবে এইভাবে বলুন-জিজ্ঞাসা করুন না এমন বস্তুগুলি অন্য বস্তুকে তারা কী করেছে তা বলে।
আমি যখন প্রথম পার্শ্ব প্রতিক্রিয়া সম্পর্কে জানলাম তখন আমি এটিকে আউটপুট প্যারামিটারের মতো ভেবেছিলাম। আমাদের বলা হয়েছিল যে কিছু কাজ আশ্চর্যজনকভাবে ঘটে, অর্থাৎ return result
সম্মেলনটি না মেনে মানুষকে অবাক করে দেবে না । এখন নিশ্চিত, আমি জানি যে সমান্তরাল অ্যাসিনক্রোনাস থ্রেডিং ইস্যুগুলির একটি স্তূপ রয়েছে যা পার্শ্ব প্রতিক্রিয়াগুলি সম্পর্কে ভুগতে পারে তবে প্রত্যাবর্তনটি হ'ল একটি সম্মেলন যা আপনাকে ফলাফলটি স্ট্যাকের দিকে ঠেলে ফেলেছে তাই যাই হোক না কেন আপনি এটি পরে পপ করতে পারেন। আসলেই এটি।
আমি যা সত্যিই জিজ্ঞাসা করার চেষ্টা করছি:
কি return
একমাত্র উপায় যে সব পার্শ্ব প্রতিক্রিয়া দুর্বিপাক এড়াতে এবং কেশ ছাড়া থ্রেড নিরাপত্তা পেতে, ইত্যাদি নাকি অনুসরণ করতে পারেন বলছি, জিজ্ঞাসা করবেন না একটি বিশুদ্ধরূপে কার্মিক ভাবে?