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