আমি প্রস্তাব করব অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য যে যে জটিলতা ব্যবস্থাপনা ।
মানব মস্তিষ্ক কেবল একবারে এতগুলি ধারণাগুলি ধরে রাখতে পারে - 7 +/- 2 স্বতন্ত্র আইটেমগুলি স্মরণে রাখার প্রথম উদ্ধৃত সীমা মনে আসে।
আমি যখন কাজটিতে 600kloc সিস্টেমে কাজ করছি, আমি একবারে পুরো জিনিসটি আমার মাথায় ধরে রাখতে পারি না। যদি আমার এটি করতে হয় তবে আমি অনেক ছোট সিস্টেমে কাজ করার মধ্যে সীমাবদ্ধ থাকব ।
ভাগ্যক্রমে, আমার দরকার নেই। আমরা সেই প্রকল্পে বিভিন্ন নকশার নিদর্শন এবং অন্যান্য কাঠামো ব্যবহার করেছি তার অর্থ হ'ল আমাকে একবারে পুরো সিস্টেমের সাথে ডিল করতে হবে না - আমি পৃথক টুকরা বাছাই করতে পারি এবং এগুলি নিয়ে কাজ করতে পারি, জেনে যে তারা আরও বিস্তৃত অ্যাপ্লিকেশনটির সাথে খাপ খায় ভালভাবে সংজ্ঞায়িত উপায়ে।
সমস্ত গুরুত্বপূর্ণ ওও ধারণাগুলি জটিলতা পরিচালনা করার উপায় সরবরাহ করে।
এনক্যাপসুলেশন - আমাকে কোনও বাহ্যিক এপিআই মোকাবেলা করুন যা আমাকে পরিষেবাগুলি কীভাবে কার্যকর করা হয় তা নিয়ে চিন্তা না করেই আমাকে বিভিন্ন পরিষেবা সরবরাহ করে।
বিমূর্ততা - আমাকে প্রয়োজনীয় বৈশিষ্ট্যগুলিতে মনোনিবেশ করতে দিন এবং যা প্রাসঙ্গিক নয় তা এড়িয়ে চলুন।
রচনা - আমাকে ইতিমধ্যে নতুন সংমিশ্রণে তৈরি করা উপাদানগুলি পুনরায় ব্যবহার করতে দিন
পলিমারফিজম - বিভিন্ন জিনিস কীভাবে এটি বিভিন্ন উপায়ে সরবরাহ করতে পারে সে সম্পর্কে চিন্তা না করে আমাকে একটি পরিষেবা জিজ্ঞাসা করতে দিন।
উত্তরাধিকার - আমাকে একটি ইন্টারফেস বা বাস্তবায়ন পুনরায় ব্যবহার করতে দিন, কেবল এমন টুকরো সরবরাহ করুন যা আগে গেছে from
একক দায়িত্বের নীতি - প্রতিটি বিষয়টির উদ্দেশ্য পরিষ্কার এবং সংক্ষিপ্ত রাখতে দেয়, সুতরাং এটির পক্ষে যুক্তি করা সহজ
লিসকভ সাবস্টিটিউশন প্রিন্সিকেল - আসুন বিজোড় নির্ভরতা প্রবর্তন করে একে অপরের জন্য ফাঁদ রাখি না
খুলুন / বদ্ধ নীতি - আসুন এমন কোডগুলিতে সম্প্রসারণ এবং পরিবর্তনের মঞ্জুরি দিন যা আমাদের বিদ্যমান কোড ভাঙার ঝুঁকি নেওয়ার প্রয়োজন হয় না
নির্ভরতা ইনজেকশন - আসুন পরবর্তী স্তরটিতে রচনাটি নেওয়া যাক এবং আরও অনেক পরে উপাদানগুলি একত্রিত করুন।
ইন্টারফেস ওরিয়েন্টেড বিকাশ - আসুন পরের স্তরে বিমূর্তি নেওয়া যাক এবং কেবল বিমূর্তির উপর নির্ভর করুন, কখনই কোনও দৃ concrete় প্রয়োগের উপর নির্ভর করে না।