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