সলিডের মতে, আপনি কেবল ইন্টারফেসটি তৈরি করতে পারবেন না, এবং এটি কেবল অন্য কোনও ফাইলে থাকা উচিত নয়, এটি একটি পৃথক সমাবেশেও হওয়া উচিত।
কেন? কারণ কোনও উত্স ফাইলে যে কোনও পরিবর্তন যা একটি সমাবেশে সংকলিত হয় তা সমাবেশ পুনঃসংশোধন প্রয়োজন, এবং কোনও সমাবেশে যে কোনও পরিবর্তনের জন্য কোনও নির্ভরশীল সমাবেশের পুনঃসংশোধন প্রয়োজন। সুতরাং, যদি সলিডের উপর ভিত্তি করে আপনার লক্ষ্যটি একটি বাস্তবায়ন এ-এর সাথে একটি বাস্তবায়ন এ প্রতিস্থাপন করতে সক্ষম হয়, তবে ইন্টারফেসের উপর ক্লাস সি নির্ভর করে আমি পার্থক্যটি জানতে পারি না, আপনাকে অবশ্যই আমার সাথে সমাবেশটি নিশ্চিত করতে হবে এটি পরিবর্তন হয় না, এইভাবে ব্যবহারগুলি রক্ষা করে।
"তবে এটি কেবল একটি পুনর্নির্মাণ" আমি আপনাকে প্রতিবাদ করতে শুনি। ঠিক আছে তা হতে পারে তবে আপনার স্মার্টফোন অ্যাপে যা আপনার ব্যবহারকারীর ডেটা ব্যান্ডউইথের পক্ষে সহজ; পরিবর্তিত একটি বাইনারি ডাউনলোড করা, বা b বাইনারি এবং অন্য পাঁচটি কোডের উপর নির্ভর করে এটি ডাউনলোড করে? প্রতিটি প্রোগ্রাম কোনও ল্যানে ডেস্কটপ কম্পিউটার দ্বারা গ্রাস করতে লেখা হয় না। এমনকি সেক্ষেত্রে, যেখানে ব্যান্ডউইথ এবং মেমরিটি সস্তা, ছোট প্যাচ রিলিজের মূল্য থাকতে পারে কারণ তারা অ্যাক্টিভ ডিরেক্টরি বা অনুরূপ ডোমেন পরিচালনার স্তরগুলির মাধ্যমে পুরো ল্যানের দিকে এগিয়ে যেতে তুচ্ছ; আপনার ব্যবহারকারীরা পুরো জিনিসটি পুনরায় ইনস্টল করার জন্য কয়েক মিনিটের পরিবর্তে পরবর্তী সময় লগ ইন করার জন্য এটি প্রয়োগ হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করবে। এটি উল্লেখ করার দরকার নেই, একটি প্রকল্প তৈরি করার সময় যে কম অ্যাসেমব্লিগুলি পুনরায় সংযুক্ত করতে হবে, তত দ্রুত এটি নির্মিত হবে,
এখন, অস্বীকৃতি: এটি সর্বদা সম্ভব বা সম্ভব না। এটি করার সহজতম উপায় হ'ল কেন্দ্রীভূত "ইন্টারফেস" প্রকল্প তৈরি করা। এটির নিজস্ব ডাউনসাইড রয়েছে; কোডটি কম পুনঃব্যবহারযোগ্য হয়ে ওঠে কারণ ইন্টারফেস প্রকল্প এবং বাস্তবায়ন প্রকল্পটি আপনার অ্যাপ্লিকেশনটির অধ্যবসায় স্তর বা অন্যান্য মূল উপাদানগুলি পুনরায় ব্যবহার করে অন্যান্য অ্যাপ্লিকেশনগুলিতে উল্লেখ করতে হয়। আপনি ইন্টারফেসগুলিকে আরও শক্তভাবে মিলিত সংঘের মধ্যে বিভক্ত করে এই সমস্যাটি কাটিয়ে উঠতে পারেন, তবে তারপরে আপনার অ্যাপে আরও প্রকল্প রয়েছে যা একটি সম্পূর্ণ বিল্ডকে অত্যন্ত বেদনাদায়ক করে তোলে। মূলটি হল ভারসাম্য, এবং আলগাভাবে মিলিত নকশা বজায় রাখা; আপনি সাধারণত ফাইলগুলি প্রয়োজনীয় হিসাবে সরিয়ে নিতে পারেন, সুতরাং যখন আপনি দেখেন যে একটি শ্রেণীর অনেকগুলি পরিবর্তন প্রয়োজন হবে বা একটি ইন্টারফেসের নতুন প্রয়োগগুলি নিয়মিত প্রয়োজন হবে (সম্ভবত অন্যান্য সফ্টওয়্যারটির নতুন-সমর্থিত সংস্করণগুলির সাথে ইন্টারফেস করতে,