دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 1280 کیلو بایت |
تعداد صفحات فایل | 29 |
مقدمه
وب، اینترنت، سایت و ... کمتر کسی است که امروزه با این لغات آشنا نباشد یا حداقل آنها را نشنیده باشد، مفاهیمی که تا چندی پیش تنها برای افراد محدودی جا افتاده و با معنا بود. اینترنت روز به روز در حال گسترش است و گویی وب، تارهای عنکبوتیش را به همه جای این هستی گسترانده است، اگر چه به کشور ما کمی دیر رو آورده ولی اینجا هم بسرعت در جاده توسعه قدم بر می دارد.
در کشورهای صنعتی، با وجود این پدیده، دیگر کمتر کسی است که برای خرید روزمره عازم بازار شود، کمتر کسی است که برای پیدا کردن کتاب مورد نظر خود، کلیه خیابانهای شهر را زیر پا بگذارد، یا برای جابجایی حسابهای مالی خود روانه بانک شود و هزاران هزار فعالیت دیگر که خروج افراد از منازل یا محل کار خود را از بین می برد که این خود سر منشاُ میلیاردها میلیارد صرفه جویی مالی و از همه مهمتر صرفه جویی در کالایی که قیمتی برای آن نیست، زمان .... که باز متاٌسفانه یکی از عوامل عقب ماندگی کشورهای جهان سوم از جمله کشورمان، عدم توجه به همین طلای نامرئی است.
دانشگاههای یک کشور همیشه سمبل برداشتن اولین قدمها در راه پیشرفت و توسعه می باشد در دانشگاهی که سالها علم کامپیوتر تدریس می شود، هر دانشجو در شروع ترم باید درگیر کاغذ بازی برای انتخاب واحد و ثبت نام باشد و در پایان هر ترم نیزبا صرف هزینه های مالی و تلف کردن وقت خود، راهی ساختمان دانشگاه می شود تا بتواند استاد خود را بیابد و اعتراض خود را نسبت نمره ی اعلامی به وی ابلاغ نماید و همه این تلفات مالی و زمانی هنگامی به اوج خود می رسد که بخواهد پروژه یا تکلیفی را تحویل استاد نماید.
حضور به موقع در راٌس ساعت تعیین شده برای تحویل پروژه، ساعتها انتظار برای رسیدن نوبت وی، تجمع در میان سالن مجاور کلاسهایی که در همان لحظه افراد دیگری مشغول فراگرفتن علم در آنجا می باشند و مشکلاتی از این قبیل...
چرا علیرغم گسترش ارتباطات جهانی که بواسطه آن امروزه دهکده نامیده می شود و در دانشگاهی که حدود 10 سال در آن اینترنت تدریس می شود اینچنین مشکلاتی باید وجود داشته باشد؟
امروزه که هر فردی با داشتن یک خط تلفن و یک کامپیوتر می تواند به اقصی نقاط جهان متصل شود و اطلاعات مورد نیاز خود را برداشت نماید یا دانسته های خود را به دیگران ابلاغ نماید، وجود چنین مشکلاتی مضحک می نماید.
یکی از راههای مفید و مقرون به صرفه در جهت حل مشکلات مذکور، ایجاد یک سایت اختصاصی برای هر کدام از اساتید دانشگاه است. محیطی نرم افزاری بر روی شبکه جهانی اینترنت که هر یک از مدرسین می توانند اطلاعات مورد نیاز دانشجویان را بدون مراجعه مستقیم آنان در اختیارشان بگذارد.
مفاهیم اولیه برنامه نویسی در دات نت ( بخش اول )
دات نت محیطی جدید بمنظور طراحی، پیاده سازی و اجرای برنامه های کامپیوتری را در اختیار طراحان و پیاده کنندگان نرم افزار قرار می دهد. با استفاده از پلات فرم فوق ، می توان بسرعت اقدام به پیاده سازی نرم افزار نمود.
برنامه های تولیده شده ، امکان استفاده از پتانسیل های محیط Common Language Runtime) CLR ) را خواهند داشت . آشنائی با مفاهیم اولیه برنامه نویسی در محیط فوق ، دارای اهمیت خاص خود بوده و سرعت در استفاده مطلوب از محیط فوق ، را بدنبال خواهد داشت . در مقالاتی که در این زمینه ارائه خواهد شد به بررسی مفاهیم اولیه برنامه نویسی محیط فوق ، خواهیم پرداخت . در این راستا ، در ابتدا با نحوه نوشتن یک برنامه آشنا و در ادامه به تشریح برخی از مفاهیم مهم در این زمینه ، خواهیم پرداخت .
نوشتن یک برنامه در فریمورک دات نت
تمامی زبانهای حمایت شده در دات نت ، از سیستم نوع یکسان ، کتابخانه کلا س فریمورک مشابه و CLR استفاده خواهند کرد . بدین ترتیب، تمامی برنامه های نوشته شده با یکی از زبانهای حمایت شده ، خصایص مشابهی را به اشتراک می گذارند. شاید مهمترین تفاوت قابل توجه در رابطه با زبان های برنامه نویسی حمایت شده در دات نت ، به گرامر هر یک از آنها برگردد . ( در مثال هائی که در این مقاله ذکر می گردد ، از ویرایشگر Notepad ،در مقابل ویژوال استودیو دات نت، استفاده شده است . مثال های ارائه شده به اندازه کافی ساده بوده تا بتوان بکمک آنان با فرآیندهای ترجمه و اجراء ، بسرعت آشنا گردید ).
نوشتن یک برنامه
برای نوشتن یک برنامه ساده در دات نت ، مراحل زیر را دنبال می نمائیم :
یک برنامه نمونه نوشته شده به زبان VB.NET |
Imports System |
vbc Hello.vb |
در ادامه و پس از ایجاد فایل اجرائی (hello.exe ) ، امکان اجرای برنامه فراهم می گردد.
استفاده از Namespace
با استفاده از VB.NET ، می توان به کلاس ها مراجعه و از آنان استفاده کرد . در مثال زیر ، یک نمونه از کلاس System.Io.FileStream ، ایجاد شده است .
Dim aFileStream As System.IO.Filestream |
مراجعه به Namespace های مورد نیاز در یک برنامه روشی مناسبتر در این زمینه است . با استفاده از namespace ، ضرورتی به توصیف تمامی مراجعات به کتابخاته کلاس ، وجود نخواهد داشت .
Imports System.IO |
مثلا" برای دستیابی به اشیاء System ، می بایست از Namespace با نام System در برنامه استفاده گردد. ( Imports) .
تعریف namespace و کلاس
VB.NET ، امکانات حمایتی لازم در خصوص ایجاد Namespace های خاص و کلاس های مربوط به آن را ارائه می نماید. (نکته : مدل زیر یک روش عمومی برای نامگذاری namespace است ) :
CompanyName.TechnologyName |
namespace در VB.NET
در VB.NET با استفاده از عبارت namespace می توان یک namespace را تعریف کرد . با استفاده از namespace تعریف شده ، امکان کپسوله نمودن کلاس های ایجاد شده ، فراهم خواهد شد.
Namespace CompVB |
برخی از ویژگی های namespace عبارتند از :
نقاط ورود ، حوزه ، تعاریف
هر برنامه اجرائی می بایست شامل یک نقطه ورود خارجی باشد . مکان فوق ، محلی را که برنامه اجرای خود را از آنجا آغاز می نماید ، مشخص می نماید..در VB.NET تمامی کد می بایست در متدهای یک کلاس قرار بگیرد.
نقاط ورود در VB.NET
بمنظور ارائه کد نقطه ورود در VB.NET ، در ابتدا می بایست یک ماژول و یا یک کلاس مشخص گردد .
Public Module modMain |
در ادامه می بایست نقطه ورود برای برنامه ، مشخص گردد. نقطه ورود ، می بایست بعنوان یک متد عمومی که main نامیده می شود ، در نظر گرفته شود.( کمپایلر به دانش فوق نیاز خواهد داشت ) . در یک کلاس ، متد فوق می بایست بصورت اشتراکی تعریف گردد .امکان تعریف متد فوق در یک ماژول بصورت اشتراکی ، وجود نخواهد داشت . نحوه تعریف ( مشخص نمودن ) نقاط ورود برای یک ماژول و یا یک کلاس ، بصورت زیر است :
Public Module modMain |
حوزه
VB.NET ، از نقطه بعنوان یک عملگر resolution حوزه ، استفاده می نماید . مثلا" در صورت استفاده از متد WriteLine مربوط به کلاس Console ، از گرامر Console.WriteLine ، استفاده می شود.
تعاریف
در VB.NET ، الزامی به تعریف یک متغیر قبل از استفاده از آن نمی باشد . پیشنهاد می گردد که در چنین مواردی متغیرها با صراحت تعریف گردند. در این راستا می توان از عبارت options ، استفاده کرد. بمنظور ایجاد نمونه ای از یک شی ، از New استفاده می گردد. مثال زیر ، نحوه تعریف یک شی از نوع Comp در namespace با نام Lib و با نام MyComp را نشان می دهد .
Dim myComp As New Lib.Comp( ) |
کنسول ورودی و خروجی
می توان از کلاس Console ، مربوط به CLR وابسته به System Namespace ، برای ورودی و خروجی هر نوع رشته و مقادیر عددی توسط متدهای Read , ReadLine و Write,WriteLine استفاده کرد . برنامه زیر، نحوه نمایش یک رشته در خروجی را نشان می دهد .
برنامه نمونه : |
Imports System |
ترجمه و اجراء یک برنامه فریمورک دات نت
اکثر جنبه های برنامه نویسی در دات نت برای تمامی زبانهای سازگار ، یکسان است . هر کمپایلر حمایت شده باعث تولید کدهای "خود تشریح " MSIL)Microsoft Intermediate Language) ، می گردد . تمامی کدهای مدیریت یافته ( Managed code ) با استفاده از CLR)Common Language runtime) ، اجراء خواهند شد . CLR ، امکان یکپارچگی بین برنامه ها ، مدیریت اتوماتیک حافظه ، برخورد یکدست با موارد خاص و استثناء ، امنیت پیشرفته و در نهایت یک مدل برنامه نویسی ساده و همگن را ارائه می نماید.
گزینه های کمپایلر
فریمورک دات نت، دارای یک کمپایلر خط دستوری برای VB.NET است ( vbc.exe ) . برای ترجمه برنامه Hello.vb ، بکمک کمپایلر فوق ، از دستور زیر استفاده می شود :
vbc Hello.vb |
گرامر فوق، باعث فراخوانی کمپایلر VB.NET می گردد. در این مثال خاص، صرفا" نام فایل مورد نظر برای کمپایلر مشخص شده و در ادامه ، کمپایلر فایل اجرائی را تولید خواهد کرد ( Hello.exe ) .
گزینه های خط دستور
در VB.NET ، می توان لیست کاملی از گزینه های همراه کمپایلر را با استفاده از ?/ ، مشاهده نمود ( ?/ Vbc ) . از گزینه های مفید در این زمینه، می توان به سوئیچ out/ ، ( نام فایل خروجی را مشخص می نماید) و سوئیچ target/ ، ( نوع کد مقصد را مشخص می نماید") ، اشاره کرد. بصورت پیش فرض ، نام فایل خروجی مشابه نام فایل ورودی و با انشعاب exe . ، خواهد بود. مقدار پیش فرض برای تعیین نوع کد مقصد ، یک برنامه اجرائی است ( سوئیچ t/ ، دارای عملکردی معادل با سوئیچ target/ است ). دستور زیر نحوه استفاده از سوئیچ های فوق را نشان می دهد :
vbc /out :hello.exe /t:exe hello.vb |
استفاده از گزینه کمپایل reference/
در زمان مراجعه به سایر اسمبلی ها ، می بایست از سوئیچ reference/ ، استفاده گردد . گزینه فوق این امکان را برای کمپایلر فراهم می آورد که اطلاعاتی را ایجاد و در کتابخانه های مشخص شده استقرار تا زمینه استفاده از آنان برای کد مورد نظر ( در حال ترجمه ) ، فراهم گردد. مثال زیر نحوه ایجاد یک برنامه اجرائی از طریق خط دستور و با استفاده از reference / ، را نشان می دهد . ( عملکرد سوئیچ r / مشابه reference / است ).
Vbc / r:assembll.dll , assemb2.dll / out :output.exe input.vb |
در بخش دوم به بررسی فرآیند اجراء مدیریت یافته ( اداره شده ) ، خواهیم پرداخت .
صفحات سرور فعال (ASP)
علت بررسی فناوری های قبل از ASP.NET ، به جزئیات پیاده سازی ASP.NET و فناوری قبل از آن، یعنی ASP بستگی دارد. درک ASP مستلزم درک ISAPI و درک ASP.NET مستلزم درک ASP است.
وقتی IIS 2.0 به عنوان بخشی از ویندوز NT 4.0 مطرح شد، مایکروسافت، فناوری جدیدی را به نام Denali ارائه داد. این فناوری در دوره فعال بودن شرکت مایکروسافت ایجاد شد و به همین دلیل نام آن صفحات سرور فعال (ASP) انتخاب گردید. چندین نسخه از ASP عرضه شد، مثل ASP 2.0 و IIS 4.0 در ویندوز NT ، ASP 3.0 و IIS 5.0 در ویندوز 2000.
ASP نوع متفاوتی از محیط توسعه است. اولاٌ یک محیط اسکریپتی است. صفحه را براحتی ویرایش می کنید، آنرا در پوشه مناسبی قرار می دهید و مجوزهای مناسبی به آنها اختصاص می دهید. این صفحات توسط مرورگر فراخوانی می شوند. ثانیاٌ کد ASP می تواند با HTML ترکیب شود.
کد ASP معمولاٌ در ویژوال بیسیک نسخه اسکریپتی (VBScript) نوشته می شود، ولی از JVScript نیز می توان استفاده کرد.
مزایای ASP
فناوری ASP به سرعت مورد توجه قرار گرفت، زیرا کار دشوار ساخت صفحات پویا را به راحتی انجام داد. ایجاد برنامه های کاربردی CGI و ISAPI چندان دشوار نبود، ولی استفاده از ASP بسیار آسان است.
به طور پیش فرض، ASP از VBScript استفاده می کند. میلیون ها نفر با VBScript آشنایی دارند که از طریق ASP می توانند وارد دنیای اینترنت شوند. به همین دلیل، ASP راه مناسبی برای ساخت صفحات وب است.
علاوه بر این، از طریق ADO امکان دستیابی آسان به بانک اطلاعاتی را فراهم می سازد. برای ساخت محتویات پویا، باید آن محتویات را از جایی دریافت کرد که ADO این امکان را فراهم می کند. توجه داشته باشید که ADO یک واسط نرم افزاری است که می تواند با سیستم های مدیریت بانک اطلاعاتی مثل اکسس و SQL Server ارتباط برقرار کند.
مدل برنامه نویسی ASP اجازه نوشتن کد و اجرا را می دهد و نیازی به دنبال کردن مراحل کامپایل و نصب نیست. همان طور که خواهید دید، ASP.NET نیز از همین روش استفاده می کند.
معایب ASP
فناوری ASP ابزار قدرتمندی برای تولید برنامه های بزرگ وب است. وب سایت هایی مثل www.microsoft.com و بسیاری از سایت های بزرگ و کوچک دیگر، با موفقیت از ASP استفاده کردند.
اولین چیزی که در مورد ASP مطرح است، سربار ناشی از تفسیر کد VBScript یا JVScript در هر درخواست است.
در اغلب سایت های متوسط ASP، بیشتر گلوگاه ها ناشی از دستیابی به بانک اطلاعاتی و به هنگام سازی آن است تا موتور اسکریپتی ASP . نسخه های بعدی ASP در ارائه سرویس به صفحات اسکریپتی کارآمدتر شدند.
ASP محیط برنامه نویسی قابل اعتماد، قدرتمند و کاملاٌ مقیاس پذیری را برای بانک اطلاعاتی فراهم نمی کند. انواع در ASP فاقد نوع هستند. وقتی مقداری در متغیری قرار می گیرد، نوع آن تعیین می شود، ولی این نوع دائمی نیست و قابل تغییر است. به این ترتیب، احتمال بروز خطا بیشتر می شود.
مسئله دیگر، توانایی ترکیب HTML و اسکریپت است. به این ترتیب، کدهای اسکریپت در داخل HTML پراکنده می شود. چون با هر اجرای اسکریپت باید تعویض بستر صورت گیرد ( از HTML به VBScript و بر عکس)، کارایی آسیب می بیند.
ASP.NET
وقتی ASP 3.0 به همراه ویندوز 2000 ارائه شد، روشن شد که آینده تولید نرم افزار به آینده وب گره خورده است. پس از آن شرکت مایکروسافت نسخه جدید ASP را به نام ASP.NET ارائه کرد که سهولت کد نویسی ASP را دارد، بطوری که برنامه ای را می نویسید، در پوشه ای قرار می دهید، امتیاز دستیابی برای آن تعیین می کنید و به راحتی قابل اجرا است. ASP.NET نو آوریهایی دارد که منجر به تفکیک برنامه کاربردی از نمایش آن می شود.
ASP.NET ویژگی های جدیدی به ASP اضافه نمود و قابلیت های آن را افزایش داد. ASP.NET فقط بهبود تدریجی ASP نیست، بلکه یک محصول کاملاٌ جدید است. ویژگی های ASP.NET عبارت اند از:
- محیط کاری NET محیط کاری NET معماری است که ساخت برنامه های کاربردی وب و سنتی را آسان تر می سازد.
- زبان مشترک زمان اجرا (CLR) زبان مشترک زمان اجرا، مجموعه ای از سرویس ها را برای تمام زبان های ASP.NET فراهم می سازد. به عبارت دیگر، مجموعه ای از انواع مشترک را برای بسیاری از زبان ها تهیه می کند.
- زبان های کامپایلری ASP.NET با استفاده از زبان های کامپایلری کارایی پیشرفته ای را ارائه می کند. زبان های کامپایلری به برنامه نویس اجازه می دهند تا صحت برنامه را از نظر نحوی بررسی کند. ASP چنین امکانی را فراهم نمی کند، لذا ساده ترین خطای نحوی نیز تا اولین اجرا مشخص نمی شود.
- زبان های جدید ویژوال بیسیک نت نسخه کاملاٌ جدیدی از ویژوال بیسیک است که نحو آن زیباتر می باشد. C# ، زبان جدیدی است که مشابه با C++ و فاقد ویژگی های نا امن C++ است.
- ویژوال استودیو نت ویژوال استودیو نت محیط توسعه جدیدی است که در آن برنامه ها را به سرعت می توان اجرا کرد.
- مولفه های جدید محیط کاری NET از انواع جدیدی از مولفه ها پشتیبانی می کند که در ASP وجود نداشته اند.
- فرم های وب ابزارهای مناسبی برای ایجاد صفحات پویا هستند که از طریق آنها می توان ورودی های کاربر را دریافت کرد.
- سرویس های XML وب با استفاده از سرویس های XML وب می توان خدماتی ایجاد کرد و سپس آنها را با استفاده از قراردادهای استاندارد صنعت مهیا نمود.
- ADO.NET فناوری ADO در محیط کاری NET ، فناوری جدیدی است که موجب می شود برنامه های کاربردی ASP.NET به راحتی به اطلاعات موجود در بانک اطلاعاتی رابطه ای یا قالب های دیگری مثل XML دستیابی داشته باشند.