استفاده یا عدم استفاده از یک تکنولوژی یا ابزار
خاص، به پارامترهای مختلفی از جمله ابعاد پروژه، مهارت و دانش اعضای تیم، ماهیت
پروژه، پلتفرم اجرا، بودجهی پروژه، مهلت تکمیل پروژه و تعداد نفرات تیم بستگی
دارد. بنابراین واضح است پیچیدن یک نسخهی خاص، برای همهی سناریوها امکان پذیر نیست؛ اما
شرایطی وجود دارد که استفاده یا عدم استفاده از این ابزارهای تکنولوژیک منطقیتر مینمایند. Stored Procedure (که از این ...
با آمدن ORMها به دنیای برنامه نویسی، کار برنامه نویسی نسبت به قبل سادهتر و راحتتر شد. عدم استفاده کوئریهای دستی، پشتیبانی از چند دیتابیس و از همه مهمتر و اصلیترین هدف این ابزار "تنها درگیری با اشیا و مدل شیء گرایی" کار را پیش از پیش آسانتر نمود.
در این بین به راحتی میتوان چندین نمونه از این ORMها را نام برد مثل IBatis , Hibernate , Nhibernate و EF که از معروفترین آنها هستند.
...
در دنیای دات نت گرایشی برای تجزیه (abstract) کردن EF پشت الگوی Repository وجود دارد. این تمایل اساسا بد است و در ادامه سعی میکنم چرای آن را توضیح دهم. پایه و اساس
عموما این باور وجود دارد که با استفاده از الگوی Repository میتوانید (در مجموع) دسترسی به دادهها را از لایه دامنه (Domain) تفکیک کنید و "دادهها را بصورت سازگار و استوار عرضه کنید".
اگر به هر کدام از پیاده سازیهای الگو ...
با توجه به اصل Dry تا میتوان باید از نوشتن کدهای تکراری خودداری کرد و کدها را تا جایی که ممکن است به قسمت هایی با قابلیت استفادهی مجدد تبدیل کرد. حین کار کردن با ORMهای معروف مثل NHibernate و EntityFramework زمان زیادی نوشتن کوئریها جهت واکشی دادهها از دیتابیس صرف میشود. اگر بتوان کوئری هایی با قابلیت استفادهی مجدد نوشت علاوه بر کاهش زمان توسعه قابلیت هایی قدرتمندی مانند زنجیر کردن کوئریها به دنبال هم به دست میآید.
...