يك لينك به دنياي دات‌نت 3 - Developer Center
Developer Center




بازگشت   Developer Center > اخبار و مقالات > مقالات و آموزش
ثبت نام راهنما فهرست کاربران تقویم جستجو ارسالهاي امروز نشانه گذاري انجمن ها به عنوان خوانده شده

پاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی Saturday 12 August 2006, 04:03 PM   #1
Techno2005
كاربر عادي
 
تاریخ عضویت: Wednesday 31 August 2005
نوشته ها: 82
با تشکر: 0
تشکر شده 118 بار 18 پست
Techno2005 کاربر عادی
Post يك لينك به دنياي دات‌نت 3

اشاره :
يكي از موجودات جديدي كه در دنياي برنامه‌نويسي شي‌گراي دات‌نت درحال پرورش است، زبان جالبي به نام LINQ است. كلمه ‌LINQ سرنام Language Integrated Query است.

از هنگامي كه چارچوب دات‌نت 2 به‌طور رسمي معرفي شد، چند ماهي مي‌گذرد. احتمالاً برخي از شما كه با پلتفرم برنامه‌نويسي مايكروسافت كار مي‌كنيد، به تدريج با نسخه دوم اين فناوري آشنا شده‌ايد و شايد قصد داريد كم‌‌كم در پروژه‌هاي جديد از اين چارچوب جديد برنامه‌نويسي استفاده كنيد. اما در همان حال كه شما آرام آرام با دات‌نت2 خو مي‌كنيد، خبر مي‌رسد كه پروژه دات‌نت 3 مدت‌ها است شروع شده و اكنون به تدريج پيش‌نمايش‌هايي از آن روي پرده مي‌رود.


جالب ديدم در اين مقاله به دنياي دات‌نت3 سرك بكشيم و ببينيم آنجا چه خبر است. اين كار دو فايده دارد: نخست اين‌كه، درمورد آخرين تحولات دنياي برنامه‌نويسي مايكروسافتي چيزهايي بدانيم. ديگر اين‌كه، شايد تشويق شويد تا دير نشده خود را به نسخه دوم دات نت مجهز كنيد. چون ممكن است تا يكي دو سال ديگر همين نسخه نيز قديمي شود!

مثلث راكس‌

يكي از موجودات جديدي كه در دنياي برنامه‌نويسي شي‌گراي دات‌نت درحال پرورش است، زبان جالبي به نام LINQاست. كلمه ‌LINQ سرنام Language Integrated Query است. منطق زبان لينك از روي زبان ‌SQL گرفته شده است و اين زبان در پي پاسخ‌دادن به مسئله پيچيده‌اي در دنياي برنامه‌نويسي پيشرفته است كه مثلث راكس (ROX Triangle) ناميده مي‌شود. پس اجازه بدهيد ببينم مثلث راكس چيست.

اين روزها اكثر برنامه‌نويساني كه با زبان‌هاي شي‌گرايي مثل سي شارپ يا جاوا كار مي‌كنند، از دو ابزار مهم ديگر نيز براي ساختن برنامه‌هاي خود استفاده مي‌كنند: يكي از اين ابزارها ديتابيس يا همان بانك‌اطلاعاتي، و ديگريXML است. البته XML ‌موجود جديدي در بافت نرم‌افزارها است، ولي اكنون معلوم شده كه با حضور اينترنت در دنياي كامپيوتر، استفاده از XML تقريبا قابل چشم پوشي نيست.

مشكلي كه برنامه‌نويسان با آن درگيرند اين است كه هر يك از اين سه ابزار از منطق و مدل داده‌اي (Data Model) متفاوتي پيروي مي‌كنند. مدل داده‌ها در بانك‌هاي اطلاعاتي معمولاً زبان ‌SQL است. در حالي كه هر زبان برنامه‌نويسي مدل داده‌اي خاصي دارد. مثلاً پلتفرم دات‌نت از فناوري ADO.NET ‌استفاده مي‌كند. واضح است كه مدل داده‌ها در ‌ADO.NET و SQL تفاوت‌هاي زيادي با هم دارند.

مدل داده‌ها در فرمت XML هم به گونه ديگري است. در ‌XML بايد از زبان XQuery استفاده كنيد. برنامه نويس در حين كار روزمره خود مرتباً نياز دارد داده‌هاي خود را از يك مدل به مدل ديگر منتقل كند. مثلاً در يك برنامه مديريت فروش محصولات، گاهي برنامه‌نويس لازم مي‌داند داده‌هاي مشتريان را از بانك اطلاعاتي (مثلا ً‌SQL Server يا‌MySQL يا ORACLE) بخواند و سپس به فرمت XML تبديل كند تا بتواند آن را از مجراي اينترنت (مثلاً از طريق وب‌سرويس‌ها) عبور دهد. در اين صورت ناگزير است همزمان داده‌ها را ابتدا با منطق ‌SQL بخواند، سپس با منطق Business Tier (مثل ADO.NET) پردازش كند و سپس با منطق XQuery تبديل كند.

اريك مير از متخصصان‌SQL Server در شركت مايكروسافت اين سه گانگي را مثلث ROX ناميده است كه سرنام عبارات Relations in data tier ،Objects in business tier وXML in presentation tier است.




قطعه كد 1

LINQ؛ زبان دوست داشتني
كارشناسان طراحي زبان‌هاي برنامه‌نويسي در شركت مايكروسافت مدتي است براي پيدا كردن يك راه‌حل براي اين مسئله، روي زبان لينك كار مي‌كنند. اين زبان البته يك زبان جديد برنامه‌نويسي در كنار سي‌شارپ و ويژوال بيسيك نيست، بلكه يك syntax است كه درون كدهاي برنامه به كار گرفته مي‌شود. (قطعه كد 1)

اين قطعه كد به قدري گويا است كه حتي كسي كه برنامه‌نويس نيست نيز متوجه معني آن مي‌شود. تاكنون به‌كارگيري چنين منطقي در زبان‌هاي برنامه‌نويسي شي‌گرا سابقه نداشته است. اين syntax خيلي به منطق و زبان انسان شبيه است. به همين دليل استفاده از آن باعث ساده شدن زبان برنامه‌نويسي مي‌شود.

تيم توسعه پلتفرم دات‌نت در مايكروسافت برهمين‌اساس در حال طراحي و توسعه دو API براي زبان ‌LINQ است. يكي از اين‌ها مجموعه DLINQ است كه براي پياده سازي زبان لينك روي ‌ADO.NET به كار مي‌رود. ديگري ‌XLINQ ناميده شده كه براي امكان‌پذير ساختن استفاده از منطق لينك روي ‌XML به كار مي‌رود.

كوشش بر اين است كه syntax برنامه‌نويسي در هر دو مورد مشابه زبان SQL باشد. به گونه‌اي كه برنامه‌نويسي بدون توجه به اين‌كه از كدام API زبان لينك استفاده مي‌كند، به يك شيوه بتواند با داده‌ها كاركند.اين APIها قرار است در چارچوب دات‌نت 3 (نسخه نهم زبان ويژوال بيسيك و نسخه سوم زبان سي شارپ) به‌كار گرفته شوند.

يكي از اهدافي كه اين تيم از به‌‌كارگيري منطق لينك در زبان‌هاي برنامه نويسي دات‌نت دنبال مي‌كند، امكان‌پذير ساختن اشكال زدايي از عبارات Query است.

اگر برنامه‌نويس باشيد، حتماً مي‌دانيد كه تمام قسمت‌هاي يك كد منهاي عبارات Query كه به صورت رشته‌هاي متني مي‌آيند، قابل اشكال‌زدايي يا Debugging هستند. قرارگرفتن عبارات Query به صورت مقادير متني داخل سورس كد، عملاً اشكال‌زدايي از آن‌ها را دشوار مي‌كند. با به‌كارگيري منطق زبان لينك اين مشكل به مقدار زيادي حل مي‌شود؛ زيرا Queryها به‌جاي اين‌كه به صورت مقادير متني نوشته شوند، بخشي از سورس كد هستند. به همين دليل اين تكنيك Language Integrated Query نامگذاري شده است.

تيم توسعه دات نت حتي به اين موضوع فكر كرده است كه استفاده از ابزار Intellisense در ويرايشگر كد ويژوال استوديو بتواند روي زبان لينك مانور دهد. اين چيزي است كه عملاً روي ‌API متعلق به بخش‌هاي DLINQ و XLINQ اتفاق مي‌افتد. در نتيجه برنامه‌نويس مي‌تواند كد ‌LINQ را كامپايل نمايد و در صورت بروز خطا آن را اشكال‌زدايي كند.استفاده از XLINQ برنامه‌نويسان را از به‌كارگيري منطق XQuery كه گاهي گيج‌كننده است، معاف مي‌كند؛ ضمن اين‌كه براي كاركردن با داده‌ها در ADO.NET و لايه Business Tier مي‌توانيد از همان منطق و رهيافت زبان SQL در بانك‌اطلاعات استفاده كنيد.


بهروز نوعي پور
ماهنامه شبکه - مرداد ۱۳۸۵
Techno2005 آنلاین نیست.   پاسخ با نقل قول

.......

پاسخ

ابزارهای موضوع
نحوه نمایش

قوانین ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است
انتخاب سریع یک انجمن


اکنون ساعت 09:11 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.





Powered by vBulletin Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Persian Language By Persian Forum Ver 1.0