। নেট এ একাধিক ওভারল্যাপিং সমাধান / প্রকল্পগুলি কীভাবে গঠন করবেন?


16

আমি সম্প্রতি একটি পুরানো লেগ্যাসি কোডবেস সহ একটি নতুন ক্লায়েন্টের জন্য কাজ শুরু করেছি যেখানে একাধিক। নেট সমাধান রয়েছে, প্রতিটি সাধারণত সেই সমাধানের জন্য অনন্য কিছু প্রকল্প হোস্ট করে তবে তারপরে "ধার" / "লিঙ্কগুলিতে" (বিদ্যমান প্রকল্প যুক্ত করুন) কিছু অন্যান্য প্রকল্প যা প্রযুক্তিগতভাবে অন্যান্য সমাধানগুলির সাথে সম্পর্কিত (কমপক্ষে যদি আপনি টিএফএসের ফোল্ডারের কাঠামোটি অনুসরণ করেন)

আমি এটি কখনও কখনও জড়িত কোনও সেটআপ দেখিনি, কোনও সুস্পষ্ট বিল্ড অর্ডার নেই, কখনও কখনও সমাধানে কোনও প্রকল্প সমাধান বিতে হোস্ট করা কোনও প্রকল্পের আউটপুট ডিরেক্টরি থেকে সরাসরি জাস্ট রেফারেন্স ডল করে, কখনও কখনও প্রকল্পটি সরাসরি যুক্ত করা হলেও এমনকি এটি থাকে ফোল্ডার কাঠামো থেকে অনেক দূরে।

দেখে মনে হচ্ছে সবকিছু বিকাশকারী অলসতার জন্য অনুকূলিত করা হয়েছে।

আমি যখন তাদের সাথে সিআই সার্ভার নেই কেন তাদের মুখোমুখি হয়েছি তারা জবাব দিয়েছিল যে কোডটি যেমন সাজানো আছে তেমন সেট আপ করা শক্ত। (আমি এখন এটি সেট আপ করছি এবং এই কোড-সংস্থাকে অভিশাপ দিচ্ছি)

সমাধানগুলি ডিপ্লোমেন্ট আর্টিক্টসের চারপাশে সংগঠিত হয় (স্টাফগুলি যা একসাথে মোতায়েন করা দরকার একই সমাধানে রয়েছে) যা আমি মনে করি একটি বুদ্ধিমান সিদ্ধান্ত, তবে সেই সমাধানগুলির (প্রকল্পগুলি) বিষয়বস্তু সমস্ত জায়গাতেই রয়েছে।

একাধিক সমাধান / স্থাপনার নিদর্শনগুলি জুড়ে সাধারণ শ্রেণির পাঠাগারগুলি পুনরায় ব্যবহার করার সময় ব্যবহার করার জন্য সর্বোত্তম অনুশীলনের conক্যমত্য কি রয়েছে?

  • কীভাবে ভিসিএসে কোড গঠন করবেন
  • কীভাবে পৃথক স্থাপনার শিল্পকর্মগুলির মধ্যে ব্যবসায়ের যুক্তি ভাগ করে নেওয়া সহজতর করা যায়

উত্তর:


9

অন্যান্য সমাধানগুলির সাথে বিদ্যমান প্রকল্পগুলি অন্তর্ভুক্ত করার জন্য আমি কখনই অনুরাগী হইনি। এমন অনেকগুলি ভেরিয়েবল রয়েছে যেখানে 1 টি সমাধানের জন্য সেই প্রকল্পে সম্পাদনা করা সম্পূর্ণরূপে অন্য সমাধানে কিছুটা ভেঙে দেয়। তারপরে সেই সমস্যাটি সমাধান করে আপনি আসল সমাধানটি ভঙ্গ করবেন। হালকা, ধুয়ে ফেলা, পুনরাবৃত্তি।

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


3
তদ্ব্যতীত, রিফ্যাক্টরিং আজকাল এত সহজ, সুতরাং আপনি যদি মনে করেন যে লাইব্রেরিতে কিছুটা উত্সাহব্যঞ্জক পরিবর্তন করা যথেষ্ট গুরুত্বপূর্ণ, আপনি এটি এখন আপনার অ্যাপ্লিকেশন প্রকল্প হিসাবে তৈরি করতে পারেন এবং পরে এটি লাইব্রেরিতে একীভূত করতে পারেন , যখন আপনি আপনার বর্তমান কাজের দ্বারা কম বিক্ষিপ্ত হন এবং সঠিক পরীক্ষা করার সময় পান have
অ্যারোনট

@ অ্যারোনট: এটি +1
জোয়েল ইথারটন

5

আমি যেমন টিএফএস স্ট্রাকচারকে আপনি যেমন উল্লেখ করছেন ঠিক তেমন আয়োজন করেছি এবং এটি সিআই-এর কাছে অনন্য চ্যালেঞ্জ উপস্থাপন করার সাথে সাথে এর বিভিন্ন সুবিধা রয়েছে। একটি পরিষ্কার এটি হ'ল এটি পৃথক। নেট প্রকল্পগুলিতে উপযুক্ত সংযোগকরণকে সমর্থন করে এবং উত্সাহ দেয় এবং এইভাবে 100% পরীক্ষার কভারেজকে উত্সাহিত করে ভাল টিডিডি সমর্থন করে। ব্যাট করার ঠিক পরে আমি কয়েকটি সমস্যা লক্ষ্য করেছি যা আপনি সমাধান করতে পারেন।

কখনও কখনও সমাধানে একটি প্রকল্প কেবল সমাধান বিতে হোস্ট হওয়া কোনও প্রকল্পের আউটপুট ডিরেক্টরি থেকে সরাসরি রেফারেন্স থাকে, কখনও কখনও প্রকল্পটি সরাসরি অন্তর্ভুক্ত করা হয় এমনকি যদি এটি ফোল্ডারের কাঠামোটিতে দূরে থাকে তবে।

অন্যান্য ডিরেক্টরিগুলির আউটপুট সম্পর্কিত বাইনারি রেফারেন্সগুলি ভাল পদ্ধতির নয়, এবং প্রকল্পের রেফারেন্সগুলির সাথে মিলিত হয়ে গেলে এটি একটি খারাপ পদ্ধতির হয়ে যায়। এক বা অন্যটি করার চেষ্টা করুন, খুব কমপক্ষে ধারাবাহিকতার জন্য আপনার বাইনারি রেফারেন্সগুলিকে প্রজেক্ট রেফারেন্সে অগ্রাধিকার দিয়ে পরিবর্তন করুন। এই মুহুর্তে প্রতিটি সমাধান একটি একক বিল্ডেবল অ্যাপ্লিকেশন বা অ্যাপ্লিকেশন স্তরকে প্রতিনিধিত্ব করতে পারে, (উদাঃ সুপার অ্যাপ.স্লেন, অন্যান্য অ্যাপ্লিকেশন সার্ভিসস.স্লেন, অন্যান্য অ্যাপ্লিকেশনটিয়ারটিয়ার.স্লেন)।

সমস্ত প্রকল্প তৈরি করতে আমি পাশাপাশি একটি মাস্টার সলিউশন তৈরি করার পরামর্শ দিচ্ছি। মাস্টার সলিউশনটিতে সমস্ত কিছুর প্রকল্পের রেফারেন্স থাকবে এবং একক বিল্ড কমান্ড থাকার একমাত্র সুবিধার জন্য মূলত উপস্থিত রয়েছে যা অ্যাপ্লিকেশন স্যুটে সমস্ত প্রকল্প পরিচালনা করে। সক্রিয় বিকাশ বা ডিবাগিংয়ের জন্য বিকাশকারীদের মাস্টার সলিউশন ব্যবহার করা উচিত নয়। এটি বিল্ড আর্টিক্টস একত্রিত করা অনেক সহজ করে তোলে।

ডিপ্লোমেন্ট তখন একটি সাধারণ ব্যাচ, পাওয়ারশেল বা পার্ল স্ক্রিপ্ট দিয়ে করা যেতে পারে। এটি প্রয়োজনীয়ভাবে উপযুক্ত সমাধান বা মাস্টার সমাধান তৈরি করবে এবং তারপরে সবকিছু উপযুক্ত পরিবেশে স্থাপন করবে lo এটি সঠিকভাবে করা গেলে যে কোনও সিআই সার্ভারে সহজেই সংহত করা যায়।

Separate কীভাবে পৃথক স্থাপনার শিল্পকর্মগুলির মধ্যে ব্যবসায়ের যুক্তি ভাগ করে নেওয়া সহজতর করা যায়

সাধারণ ব্যবসায় যুক্তির জন্য একটি প্রকল্প তৈরি করুন বা আরও বিশ্বব্যাপী বা সর্বজনীন ব্যবসায়িক যুক্তির জন্য উদ্বেগের আরও ভাল বিভাজন থাকতে হবে। সমস্ত ডিপ্লোয়যোগ্য সমাধান যা এটি রেফারেন্স করতে চায় তা প্রকল্পের রেফারেন্সের মাধ্যমে করা উচিত।

টিএফএসে আপনার কোডটি সংগঠিত করার সময় ডিরেক্টরি ট্রিতে একটি উচ্চ স্তরে সাধারণ বা ভাগ করা প্রকল্পগুলি রেখে এটি অর্জন করা সহজ হয়ে যায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.