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