সাবসসনিক ভিসা NHibernate

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

0
ro fr hi

13 উত্তর

আমরা সাবসনিকের সাথে বুটস্ট্র্যাপ করেছি এবং এখন মূল্যায়ন করার চেষ্টা করছি যদি আমরা এখন nhibernate সুইচ করতে যাচ্ছি যে আমরা subsonic এর ব্যথা পয়েন্ট হয়

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

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

0
যোগ

আমি মনে করি আপনি খুব সুন্দর এটি nailed। Subsonic কোড তৈরি করে, তাই আপনার ব্যবসার বস্তুগুলি আপনার ডাটাবেস কাঠামোকে প্রতিফলিত করবে। n হাইবারনেট ম্যাপিং ফাইলগুলি ব্যবহার করে যা আপনার ব্যবসার বস্তুগুলিকে ডেটাবেসে ম্যাপ দেয় তাই আপনার অবজেক্টগুলি যদি আপনার পছন্দ মত সাজানো হয়।

এই প্রকল্পটি কত বড়? দীর্ঘমেয়াদী সমর্থন প্রয়োজন হবে? সাবসোসনিক এর খরচ কার্যকারিতা কোন সম্ভাব্য স্কেলিং সমস্যা অফসেট যাচ্ছে?

0
যোগ

কিছুক্ষন চুপচাপ, কিন্তু একদম শিরাতে। আপনি কাসল অ্যাডভাইরেক্টরকার্ড এ দেখেছেন যে এটি NHibernate এবং ডাটাবেস থেকে কোড থেকে এক্সএমএল ম্যাপিং তৈরির সময় ব্যয় করতে প্রয়োজন। NHibernate- এর মতো আপনি আপনার ডোমেন অবজেক্টগুলি গঠন করতে পারেন এবং পরে এই কাঠামো থেকে একটি ডাটাবেস স্কিমা তৈরি করতে পারেন।

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

0
যোগ
আমি এখন একটি পাইলট প্রকল্পে CAR এর সাথে খেলছি। আমি এটি পছন্দ করি কারণ আমি এনভাইরেটর হিসেবে কিছু পরীক্ষার উপরে ActiveRecord এর মতামত পছন্দ করি। যদি আমি শেষ না করাই পছন্দ করি তবে আমি নিখুঁত NHibernate ফিরে আসতে পারেন। এটি আমাকে একটি নিরাপদ প্রস্থান দেয় - আমি এটি পছন্দ করি। আমি তুলনা জন্য কয়েক মাস সাবসনের চেষ্টা করব
যোগ লেখক BuddyJoe, উৎস

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

আমার মতে আপনার ডেটাবেস মডেল থেকে সম্পূর্ণভাবে আপনার ডোমেন মডেলকে পৃথক করার একমাত্র সত্য পথ হল আপনার নিজস্ব DTOS (মূলত পিওসিওসিএলগুলি ডেটা পাস করার জন্য), এবং তারপরে আপনার ডাটা লেয়ারে তাদের ORM- এর পছন্দগুলি ম্যাপ করুন। কিন্তু অধিকাংশ ক্ষেত্রে, এই পদ্ধতির তুলনায় আরো ঝামেলা হবে তার মূল্য।

0
যোগ

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

যদি আপনি একটি অপেক্ষাকৃত সহজ ডাটাবেস ব্যবহার করছেন যা আপনার নিয়ন্ত্রণাধীন (যেমন, আপনি একটি ডাটাবেস বিভাগ ও oversight পর্যালোচনা বোর্ডে আটটি ফর্ম না পাঠিয়ে কলামগুলি পরিবর্তন করতে পারেন), আমি SubSonic দিয়ে শুরু করার সুপারিশ করব এবং যদি সাবসনিনিক না হয় তবে NHibernate তে চলে যাব। আপনার প্রয়োজন মেটাতে

0
যোগ

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

আমি SubSonic ব্যবহার করে বড় প্রকল্প দেখেছি যখন NHibernate ইতিমধ্যে বিখ্যাত এবং ব্যাপকভাবে ব্যবহৃত হয়।

ORM নির্বাচন করার সিদ্ধান্ত না    সম্পূর্ণরূপে ORM- এর উপর নির্ভর করে।

0
যোগ

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

  • NHibernate হল বৃহৎ স্কেল প্রকল্পগুলির জন্য আমার পছন্দ কারণ এটি লাইটওয়েট পিওসিওএ এর ব্যবহার। যদি আমি কখনও কখনও আমার ORM "আমি বিশ্বাস করি" এটি সুইচ করার জন্য আরও সহজ হবে।
  • সাবসননিক আমার পছন্দ যখন আমার একটি ছোট স্কেল প্রকল্প আছে আমি বিশ্বাস করি যে কর্মক্ষমতা ভিত্তিক সাবসনীয় দাঁড়িপাল্লা ভাল। যাইহোক, আমি দৃঢ়ভাবে এটির সাথে মিলিত কারণ এটি আমার প্রকল্পে তাই খোদাই করা হয়। ছোট প্রকল্পের মধ্যে আমি এখনও এটি স্যুইচ করতে পারি কারণ কোড বেসটি এত ছোট এবং এটা সত্যিই আমাকে বিজ্ঞাপন হিসাবে কোডটি ফাঁকা করে দেয়।
0
যোগ

আমি একটি প্রকল্পে NHibernate আসলে আসলে ব্যবহার না করে ভাল তুলনা দিতে পারে না, কিন্তু আমি SubSonic ব্যবহার করেছেন এবং এটি খুব খুশি হয়েছে। এতদূর, আমি এটি ব্যবহার করার সময় কোন বড় বাধা আঘাত না।

এই পোস্টটি দেখুন রব সানুরি থেকে, সাবসনিকের সৃষ্টিকর্তাদের একজন তিনি কিভাবে আপনার অ্যাপ্লিকেশন থেকে বাকি SubSonic কোড decouple সম্পর্কে আলোচনা। তিনি এমনও উল্লেখ করেছেন যে এই স্থাপত্যটি আপনাকে পরবর্তীতে কিছু অন্যান্য ডেটা অ্যাক্সেস লেয়ার যেমন হাইবারনেট বা LINQ থেকে SQL এ সাবসনিককে অদলবদল করতে সক্ষম করবে।

আমি জানি আমি আসলে আপনার প্রশ্নের উত্তর না, কিন্তু আমি এই এখনও সাহায্য করে আশা করি।

0
যোগ

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

আপনি ActiveRecord পেতে পারেন ডাটাবেস স্কিমা তৈরি তোমার জন্য.

আমরা এখন বেশ কয়েকটি প্রকল্পে এই পদ্ধতিটি ব্যবহার করেছি এবং উপকারগুলি নিম্নরূপ:

  • Easy upgrade path to NHibernate if required in the future
  • Support for simple inheritance models - eg. Car -> Vehicle
  • The schema it generates is most likely how you would have created it anyway, so you can spend more time building the app rather than worrying about keeping your model/db in sync.
0
যোগ

ActiveRecord বিবেচনা করার সময় আপনার দল এবং প্রকল্প আকার বিবেচনা করুন

আমার অভিজ্ঞতাতে, ActiveRecord হল NHibernate এর উপরে একটি নিমজ্জন যা আরও জটিল পরিস্থিতিগুলির চেষ্টা করার সময় একটি ছোপানো ছিদ্র করে।

যদি আপনি একটি সামান্যভাবে গুরুতর জটিল বা অ সরল স্কিমা আছে, NHibernate সঙ্গে লাঠি। আপনি চূড়ান্ত এবং এটি কাছাকাছি পাসসভা পাস করতে পারেন।

আপনি কষ্টসাধ্য মধ্যে পেতে পারে অন্য জায়গায় যখন আপনি একটি সামান্য জটিল অনুসন্ধানের প্রয়োজন। ActiveRecord অনেক NHibernate এর বাস্তবায়ন লুকায় ... কিন্তু আপনার এটি একটি জটিল অনুসন্ধানের জন্য প্রয়োজন হবে, এটি যদি আপনি HQL এর সাথে সম্পূর্ণ অপরিচিত না হয়ে খুব কঠিন হয়ে উঠবেন। সতর্কতা অবলম্বন করা দলীয় সদস্যরা শুধু NHibernate এবং HQL শেখার পরিবর্তে প্রান্তে দূরে হ্যাক করবেন না।

0
যোগ

আমি এই বিষয়ে পরামর্শ পেয়েছি যে সাবসনিকটি আরো জটিল পরিস্থিতিতে হস্তান্তর করার জন্য স্কেল করে না এবং তাই আপনি যদি সেই রাস্তার নিচে যান তাহলে আপনি আরও বেশি উন্নত ORM এর উপর সোয়াপ করার চেষ্টা করে একটি চাকরি শেষ করবেন।

আমি জটিল কেসগুলির জন্য NHibernate ব্যবহার করার ক্ষেত্রে আরো বেশি আগ্রহী, সহজ ক্ষেত্রে ক্যাসল অ্যাক্টিভ রেকর্ডস এবং নিখুঁত NHibernate- এ নজর রাখছি যা NHibernate ম্যাপিং অনেক সহজ করা উচিত (বিশেষত একবার কনভেনশন ভিত্তিক মেপিং সাপোর্ট উন্নত হলে)।

0
যোগ
যদি আপনার সাবসনিক স্কিলিং বিষয়গুলির প্রমাণ থাকে তবে অনুগ্রহ করে প্রদান করুন। আমি ব্যক্তিগতভাবে SubSonic scalability সঙ্গে কোনো সমস্যা অভিজ্ঞতা না।
যোগ লেখক Jim Geurts, উৎস
"যে সাবসনিক আরো জটিল পরিস্থিতিতে হ্যান্ডেল করার জন্য স্কেল করে না" এই সমস্যাটি হল যে এটি শুধু কিছুই মানে না। এসএস মোট স্কেল না যে বিশ্বাসযোগ্য প্রমাণের মোট অভাব হতে চলতে থাকে। আমি এটি প্রমাণ যে কখনও কখনও শুধু ইন্টারনেট কিছু বলার যথেষ্ট যথেষ্ট অনুমান।
যোগ লেখক CarmineSantini, উৎস
0
যোগ
একই স্টিফেন উচ্চনিনাদী, এখন বলছে "ORM সরঞ্জামের আজকের উঠতি প্রজন্মের অভিব্যক্ত অবিরত হিসাবে (2010 ডিসেম্বর হিসাবে), তারা আরো দ্রুতগামী ও সহজে ব্যবহারযোগ্য করতে, হয়ে উঠছে আরো ডেভেলপারদের প্ররোচনা তাদের আবেদন আর্কিটেকচারের মধ্যে একীভূত ORM দ্বিতীয় কটাক্ষপাত করা "। তার চেতনা ফিরে একজন লোক আনার জন্য সময় মত কিছুই নেই! :-) <�একটি href = "http://www.devproconnections.com/article/tools-and-products/Repeatable-History-Defying-the-Law-of-Repetitive-Consequences-with-ORM.aspx" এখন rel = "nofollow noreferrer"> devproconnections.com/article/tools-and-products/…
যোগ লেখক rsenna, উৎস