আমি এমন একটি সংস্থায় কাজ করি যা কেবলমাত্র সমস্ত ডেটা অ্যাক্সেসের জন্য সঞ্চিত পদ্ধতি ব্যবহার করে, যা আমাদের স্থানীয় ডেটাবেসগুলিকে সিঙ্কে রাখা খুব বিরক্তিকর করে তোলে আমাদের প্রতিটি প্রতিশ্রুতি হিসাবে নতুন নতুন প্রোস চালাতে হয়। আমি অতীতে কয়েকটি বেসিক ওআরএম ব্যবহার করেছি এবং আমি অভিজ্ঞতাটি আরও ভাল এবং ক্লিনার পেয়েছি। আমি ডেভলপমেন্ট ম্যানেজার এবং বাকি টিমকে পরামর্শ দিতে চাই যে আমরা ভবিষ্যতের বিকাশের জন্য কোনও ধরণের একটি ওআরএম ব্যবহারের দিকে নজর দিই (দলের বাকিরা কেবল সঞ্চিত পদ্ধতিগুলির সাথে পরিচিত এবং অন্য কোনও কিছুই ব্যবহার করেনি)। অ্যাক্টিভেকর্ডের একটি অদ্ভুত বাস্তবায়ন ব্যবহার করে এবং টাইপযুক্ত ডেটাসেটগুলি ফিরিয়ে আনে যা কোড-পিছনে থাকা ফাইলগুলিতে লুপ করা হয় - ক্লাসগুলি এই জাতীয় কিছু কাজ করে: নেট আর্কিটেকচারটি নেট নেট ১.১ এর মতো রচিত।
class Foo {
public bool LoadFoo() {
bool blnResult = false;
if (this.FooID == 0) {
throw new Exception("FooID must be set before calling this method.");
}
DataSet ds = // ... call to Sproc
if (ds.Tables[0].Rows.Count > 0) {
foo.FooName = ds.Tables[0].Rows[0]["FooName"].ToString();
// other properties set
blnResult = true;
}
return blnResult;
}
}
// Consumer
Foo foo = new Foo();
foo.FooID = 1234;
foo.LoadFoo();
// do stuff with foo...
কোনও নকশার নিদর্শন প্রয়োগ করার সুযোগ নেই। এখানে কোনও পরীক্ষা নেই (ইউনিট টেস্টগুলি কীভাবে লিখতে হয় তা আর কেউ জানে না, এবং ওয়েবসাইট নিজে হাতে লোড করে এবং আশেপাশে পোকার মাধ্যমে পরীক্ষা করা হয়)। আমাদের ডাটাবেসের মাধ্যমে আমাদের রয়েছে: 199 টি টেবিল, 13 টি দর্শন, একটি সম্পূর্ণ 926 সঞ্চিত পদ্ধতি এবং 93 ফাংশন। ব্যাচ চাকরি বা বাহ্যিক জিনিসগুলির জন্য প্রায় 30 বা তাই সারণীগুলি ব্যবহৃত হয়, বাকিগুলি আমাদের মূল অ্যাপ্লিকেশনটিতে ব্যবহৃত হয়।
এমনকি এই দৃশ্যে আলাদা পদ্ধতির অনুসরণ করা কি মূল্যবান? আমি কেবল তখনই এগিয়ে যাওয়ার কথা বলছি যেহেতু "বিদ্যমান এটি কোড" থেকে আমাদের বিদ্যমান কোডটি রিফ্যাক্টর করার অনুমতি নেই তাই আমরা ওআরএম ব্যবহারের জন্য বিদ্যমান ক্লাসগুলিকে পরিবর্তন করতে পারি না, তবে আমি জানি না যে আমরা কত বার ব্র্যান্ড নতুন মডিউল যুক্ত করি I বর্তমান মডিউলগুলিতে যোগ / সংশোধন করার ফলে আমি নিশ্চিত না যে কোনও ওআরএম সঠিক পদ্ধতির কিনা (সঞ্চিত পদ্ধতি এবং ডেটাসেটে খুব বেশি বিনিয়োগ করা)। যদি এটি সঠিক পছন্দ হয় তবে আমি কীভাবে এটি ব্যবহারের জন্য মামলাটি উপস্থাপন করব? আমার মাথার শীর্ষে ক্লিয়ার কোড থাকার একমাত্র উপকারিতা সম্পর্কে আমি ভাবতে পারি (যদিও এটি এখনকার আর্কিটেকচারটি নয়) ওআরএমগুলি মাথায় রেখেই তৈরি করা হয়নি যাতে আমরা মূলত ভবিষ্যতের মডিউলগুলিতে জুরি-র্যাজিং ওআরএম থাকব তবে পুরানোগুলি এখনও ডেটাসেট ব্যবহার করবে) এবং কোন পদ্ধতি স্ক্রিপ্টগুলি চালিত হয়েছে এবং কোনটি চালানো দরকার তা মনে রাখার জন্য কম ঝামেলা, ইত্যাদি। তবে এটিই এবং আমি জানি না যে যুক্তিটি কতটা জোরালো। রক্ষণাবেক্ষণের বিষয়টি অন্য উদ্বেগের বিষয় তবে আমি ব্যতীত অন্য কেউ উদ্বিগ্ন বলে মনে হয় না।