অগ্নিবিদ্যায় প্রয়োগ বাস্তবায়ন কি এর পক্ষে মূল্যবান?


22

আমার একটি প্রকল্প রয়েছে যা আমি বর্তমানে টমক্যাট, স্প্রিং 4, স্প্রিং সিকিউরিটি, মাইএসকিউএল এবং জেপিএ ডাব্লু / হাইবারনেট ব্যবহার করে কাজ করছি।

আমি জেপিএটিকে দৃষ্টিকোণ থেকে বেছে নিয়েছি মনে করি যে এটি ORM সরবরাহকারীদের নির্বিঘ্নে অন্তর্নিহিত বাস্তব নির্বিঘ্ন করতে পারে বা কমপক্ষে কম বেদনাদায়ক হয়। আমি বলব যে এটি মানসিকভাবে বাস্তবায়ন (জ্যাক্স-আরএস) ওভারটিকে অনুমান করে যা জাভা উন্নয়ন সম্প্রদায়ের ডিফল্ট অবস্থান point

আমি কৌতূহল করছি যদি সত্যিই এটি করার মতো কাজ হয়। আমি নিশ্চিত যে আমি যদি হাইবারনেট সরাসরি ব্যবহার করি তবে আমি কিছুটা শক্তি অর্জন করতে পারি কারণ আমি এমন বৈশিষ্ট্যগুলি ব্যবহার করতে পারতাম যা মূল জেপিএ স্পেসিফিকেশনের অংশ নয়।

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

আপনার চিন্তা কি? যখন জেপিএর মতো জিনিস আসে তখন কি "ইন্টারফেসে প্রোগ্রামিং করা" মূল্যবান? আপনি কি কখনও কোনও প্রোডাক্টে কোনও সম্পূর্ণ ওআরএম বাস্তবায়নকে বদলে ফেলেছেন? আপনি কি কখনও জেপিএ ফাঁস হওয়ার মতো কিছু থেকে বিমূর্ততা সম্পূর্ণরূপে এড়াতে সক্ষম হয়েছেন? আমি ব্যক্তিগতভাবে ইতিমধ্যে একটি একক নেটিভ এসকিউএল কল পেয়েছি (ডাটাবেস টেবিলগুলি পরিষ্কার করার জন্য), এবং জেপিএ স্পেকটিতে অন্তর্নির্মিত এমন কিছু দিয়ে আমি ফুট করতে চাই (আপনার পদ্ধতিগুলির উপসর্গগুলি সেট / সেট করুন এবং মেম্বারের অফ পার্থক্য) / IN, যা কেবলমাত্র অন্তর্নিহিত বাস্তবায়নের সাথে নিজেকে আবদ্ধ করে রাখা আমাকে এড়িয়ে যাওয়ার কোনও সুযোগ পাবে।


আপনি ইউনিট পরীক্ষা না? বাস্তবায়নগুলি স্যুইচিংয়ের অর্থ অগত্যা সমাপ্ত পণ্য নয়।
মিঃডসু

উত্তর:


26

যাতে ভবিষ্যতে কোনও পর্যায়ে আমি আমার ওআরএম প্রয়োগ বাস্তবায়ন করতে পারি। আমি দৃly়রূপে সন্দেহ করি যা পণ্যের জীবন জুড়ে কখনও ঘটবে, তাই আমি মূলত এমন কিছুতে প্রচেষ্টা চালিয়ে যাচ্ছি যা আমি সম্ভবত এর সুবিধাগুলি কখনও কাটাতে পারি না I'll

আমার অভিজ্ঞতায়, আদর্শ এন্টারপ্রাইজ প্রকল্পটি কখনই বদলে যায় না:

  1. ডেটাবেস
  2. ORM
  3. ভাষা

আমি সংখ্যাগুলি জানি না, তবে আমি বাস্তবায়ন দেখেছি এবং তারপরে একটি জিনিস পরিবর্তন করেছি এমন 2-স্তরের অ্যাপগুলির শতাংশের পরিমাণ সম্ভবত 10% এর চেয়ে কম হবে। যদি এটি ঘটে থাকে তবে এটি বিরল, এবং যখন লোকেরা এখনও আবিষ্কারের মোডে থাকে তখন সাধারণত প্রকল্পের প্রথম 2-3 মাসের মধ্যে এটি ঘটে। আমি জানি বেশিরভাগ সিস্টেমে 8-10 বছর পরে এখনও তাদের মূল প্ল্যাটফর্মগুলিতে চলছে।

প্রায়শই একটি ওআরএম বদলানোর চেয়ে আপনি কি আরও জানতে চেয়েছেন? পারফরম্যান্স সমস্যার কারণে সম্পূর্ণরূপে এসকিউএল এ নামার জন্য ORM পুরোপুরি সরানো। সুতরাং যাই হোক না কেন, সেক্ষেত্রে আপনার জিনিসগুলি পুনরায় লেখার বিষয় হবে।

যতদূর বাস্তবায়ন অজ্ঞেয়, এটি একটি পৌরাণিক কাহিনী। এটি সত্যিই নিস্তেজ হয়ে যাওয়ার পরিমাণ। সুতরাং আমার পদ্ধতির ডেটা স্তর আলিঙ্গন করা হয়। এটিকে আপনার ভাষা এবং ডিজাইনের প্রথম শ্রেণির অংশ করুন। এটি সুখী, আরও সফল প্রকল্পগুলির জন্য তোলে।


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

5

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

বেশিরভাগ লোকেরা তখন জাভা অ্যাপ্লিকেশন লেখেন, এটি মূলত অপ্রাসঙ্গিক।


অ্যাপ্লিকেশন উল্লেখ করার জন্য +1 যেখানে একাধিক ডিবিএমএসের সমর্থন একটি বৈশিষ্ট্য। আপনি যদি "স্ব-হোস্টিং" (এমন অনেক কিছু গ্রাহককে পছন্দসই বলে মনে করেন) এর জন্য আপনার অ্যাপ্লিকেশনটি অফার করেন তবে আপনার এটির প্রয়োজন হতে পারে। তবে, আপনি সম্ভবত এখনও একটি ওআরএম আটকে থাকতে পারেন।
sleske

4

আমার অভিজ্ঞতা থেকে: না, জেপিএ / হাইবারনেটের ক্ষেত্রে এটি উপযুক্ত নয়

যখন জেপিএর মতো জিনিস আসে তখন কি "ইন্টারফেসে প্রোগ্রামিং করা" মূল্যবান?

এটি, তবে জেপিএর সাথে বিশেষভাবে কোনও সম্পর্ক নেই। আপনি হাইবারনেটের "ইন্টারফেসগুলিতে প্রোগ্রামিং" করতে পারেন। এটি কোনও স্ট্যান্ডার্ডের অধীনে কোনও ফ্রেমওয়ার্ক লুকিয়ে রাখার বিষয়ে নয়, এটি সলিড সম্পর্কে ।

আপনি কি কখনও কোনও প্রোডাক্টে কোনও সম্পূর্ণ ওআরএম বাস্তবায়নকে বদলে ফেলেছেন?

হ্যা এবং না. আমাদের সংস্থার পণ্যগুলির একটি আংশিকভাবে হাইবারনেট থেকে জোকিউতে স্থানান্তরিত হয়েছে (যার জেপিএর সাথে কোনও সম্পর্ক নেই)। এটি ঠিক একটি "আদর্শ এন্টারপ্রাইজ প্রকল্প" ছিল না যা @ কোডেনহিম উল্লেখ করেছেন, তাই অদলবদল সম্ভব ছিল।

আমি অন্য জেপিএ-অনুবর্তী ওআরএম-এর সাথে হাইবারনেট অদলবদলের কোনও অর্থ দেখতে পাচ্ছি না।

আপনি কি কখনও জেপিএ ফাঁস হওয়ার মতো কিছু থেকে বিমূর্ততা সম্পূর্ণরূপে এড়াতে সক্ষম হয়েছেন?

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


3

এখানে বিপরীত শোনার ঝুঁকিতে আমি বলব, হ্যাঁ, এটি মূল্যবান। এবং এটা না।

সমস্যাটি আপনার ওআরএম বা ডেটাবেস সরবরাহকারীকে যেমন স্যুইচ করার ক্ষেত্রে তেমন কিছু নয়। এটি উদ্বেগের পৃথকীকরণ এবং চটজলদি থাকার বিষয় more

একবার আপনি কোনও গ্রন্থাগারের কিছু বাস্তবায়ন বিশদের উপর নির্ভর করা শুরু করার পরে আপনি উদ্বেগের আরও গভীর এবং গভীর জড়িত তৈরি করা শুরু করেন।

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

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


1

বাস্তবায়ন অজ্ঞেয়বাদ সম্পর্কিত সমস্যাটি হ'ল আপনি, আপনার সময়ে একজন বিকাশকারী হিসাবে সময় নষ্ট করবেন way

আমি বেশ কয়েকটি প্রকল্প লিখেছি যা আমরা একটি ইন্টারফেসে অনেক সময় লেখার সময় নষ্ট করেছিলাম, যা কখনও কোনও নতুন উপায়ে ব্যবহৃত হয় নি, রূপান্তরিত হয়নি এবং বছরের পর বছর ধরে 'যেমন আছে' তেমন ব্যবহার করা হয়নি

আমি রূপান্তরকারী সফটওয়্যারটিও অনেক সময় নষ্ট করেছি যা কখনই রূপান্তরিত হওয়ার প্রয়োজন বলে আশা করেনি।

আমার একমাত্র আসল পর্যবেক্ষণ করতে হবে, এটি হ'ল প্রাক্তনটি অনেক কম বেদনাদায়ক।

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