উভয় ক্ষেত্রেই ব্যবহার সহজ, তবে অন্যটির তুলনায় পার্সার 1 এ পরামিতি ইনপুট সক্ষম করার অর্থ কী?
এটি একটি মৌলিক নকশা স্থানান্তর। এবং ডিজাইনের উদ্দেশ্য এবং অর্থ প্রকাশ করা উচিত। আপনি যে প্রতিটি স্ট্রিং পার্স করতে চান তার জন্য আপনার কি আলাদা আলাদা জিনিস থাকতে হবে? অন্য কথায়, স্ট্রিংএক্সের সাথে পার্সারের একটি উদাহরণ এবং স্ট্রিংওয়াইয়ের সাথে আমাদের অন্য উদাহরণের প্রয়োজন কেন? পার্স (আইএনএন) এবং প্রদত্ত স্ট্রিং সম্পর্কে কী যে দুজনকে অবশ্যই একসাথে বেঁচে থাকতে হবে এবং মারা যেতে হবে? ধরে নিই যে "অন্তর্নিহিত [পার্সিং] বাস্তবায়ন" (যেমন রবার্ট হার্ভে বলেছেন) পরিবর্তিত হয় না, মনে হয় এর কোনও অর্থ নেই। এবং তারপরেও এর সন্দেহজনক আইএমএইচও।
পদ্ধতির পরামিতিগুলির পরিবর্তে কন্সট্রাক্টরের ডেটা পাস করার সময় শ্রেণীর ধারণা কীভাবে পরিবর্তিত হয়?
কনস্ট্রাক্টর প্যারামিটারগুলি আমাকে বলে যে কোনও জিনিসের জন্য এই জিনিসগুলি প্রয়োজনীয়। তাদের ছাড়া উপযুক্ত রাষ্ট্রের নিশ্চয়তা নেই। এছাড়াও, আমি জানি কীভাবে / কেন একটি পার্সার অন্যের থেকে মৌলিকভাবে পৃথক।
কনস্ট্রাক্টর প্যারামিটারগুলি ক্লাসটি কীভাবে ব্যবহার করতে হয় সে সম্পর্কে খুব বেশি জানতে আমাকে বাধা দেয়। পরিবর্তে যদি আমি নির্দিষ্ট বৈশিষ্ট্যগুলি সেট করে রাখার কথা - তবে কীভাবে আমি এটি জানব? কৃমি একটি পুরো ক্যান খোলে। কি সম্পত্তি? কোন ক্রমে? আমি কোন পদ্ধতি ব্যবহার করার আগে? ইত্যাদি।
আর একটি প্রশ্ন আসে যখন আমি বুঝতে পারি যে দ্বিতীয় প্রয়োগের ক্ষেত্রে একটি ইন্টারফেস যথেষ্ট অর্থহীন হবে:
একটি ইন্টারফেস, যেমন এপিআই, ক্লায়েন্ট কোডের সাথে প্রকাশিত পদ্ধতি এবং বৈশিষ্ট্য। public interface { ... }একচেটিয়াভাবে মোড়ানো না । সুতরাং ইন্টারফেসটির অর্থ হয়-বা নির্মাণকারী বনাম পদ্ধতি প্যারামিটার দ্বিধা, না public interface Iparserবনাম NOTpublic sealed class Parser
sealedবর্গ বিজোড় হয়। যদি আমি বিভিন্ন পার্সার বাস্তবায়ন সম্পর্কে চিন্তা করি - আপনি "ইপারসার" উল্লেখ করেছেন - তবে উত্তরাধিকার আমার প্রথম চিন্তা। এটি আমার চিন্তায় একটি প্রাকৃতিক ধারণাগত প্রসার মাত্র। IE সমস্ত ParserXগুলি মূলত Parserএস। কীভাবে এটি বলা যায়? ... একটি জার্মান শেপার্ড একটি কুকুর (উত্তরাধিকার), তবে আমি আমার তোতাটিকে ছালাতে প্রশিক্ষণ দিতে পারি (একটি কুকুরের মতো কাজ - "ইন্টারফেস"); তবে পলি কুকুর নয়, কেবল ভান করে, কুকুরের একটি উপসেট শিখেছে। ক্লাস, বিমূর্ত বা অন্যথায় ইন্টারফেসের পাশাপাশি পুরোপুরি পরিবেশন করে ।