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