-
مدیر بازنشسته
يك لينك به دنياي داتنت 3
يك لينك به دنياي داتنت 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 در بانكاطلاعات استفاده كنيد.
-
کلمات کلیدی این موضوع
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین
انجمن