يک نکته مهم که در زمان استفاده از NET Framework. بايد به آن توجه داشت آن است که فضانام (namespace يا نامکده) ها در ساختمان برنامه کاربردی قرار دارند. فضانام يک طرح نامگذاری منطقی برای گروه بندی کلاس های مرتبط است. اين طرح مانع از آن می شود تا کلاس هايی که برای متدها و خصوصيات از يک شناسه يکسان استفاده می کنند تداخل داشته باشند.
مثلا NET Framework. برای گروه بندی تايپ ها به مقوله های منطقی عملکرد، از قبيل چارچوب برنامه کاربردی ASP.NET، از يک طرح نامگذاری سلسله مراتبی استفاده می کند. ابزارهای طراحی از فضانام ها با هدف تسهيل مرور و ارجاع تايپ ها در برنامه بهره برداری می کنند. مثلا فرض کنيد در حال نوشتن کد زير هستيد:
Public Class NewClass
[Procedures and Functions]
End Class
Public Class NewClass
[Procedures and Functions]
End Class
اين کد به خطا منجر می شود چون کامپايلر راهی برای تشخيص کلاس ها از يکديگر ندارد. برای غلبه بر اين مشکل می توان از يک فضانام استفاده کرد که اجازه می دهد دو کلاس همنام در صفحه با هم وجود داشته باشند. قطعه برنامه زير تعريف اين دو کلاس در فضانام های منحصر بفرد را نشان می دهد:
Namespace One
Public Class NewClass
[Procedures and Functions]
End Class
End Namespace
Namespace Two
Public Class NewClass
[Procedures and Functions]
End Class
End Namespace
در اين کد برخوردی بين دو کلاس با نام NewClass وجود ندارد چون هر کدام در يک فضانام جداگانه قرار داده شده است. کلاس اول را می توان با استفاده از ترکيب One.NewClass صدا زد، حال آنکه کلاس دوم را می توان با استفاده از ترکيب Two.NewClass صدا زد.
شما می توانيد در فضانام های خود از يک ساختار سلسله مراتبی استفاده کنيد. قرار دادن اشياء مشابه تحت زيرعنوانها در يک فضانام مشترک تشخيص هدف فضانام را آسانتر می کند، و در عين حال باعث می شود برنامه به مراتب شئ گراتر شود.
برای توضيح فضانام می توان ساختار فايل و دايرکتوری (کشو، فولدر) در يک کامپيوتر را در نظر گرفت. در اين مثال کلاس ها به مثابه فايل ها و فضانام ها مانند دايرکتوری ها هستند. بديهی است همانگونه که می توانيم دايرکتوريهای تو در تو داشته باشيم، فضانام ها هم در حاليکه کلاس ها را در خود جای داده اند می توانند بصورت تو در تو باشند.
فضانام ها در ساخت برنامه های کاربردی ASP.NET نقش مهمی ايفا می کنند. خوشبختانه لازم نيست برای همه اشيايی که می توانند به وسيله صفحات ASP.NET مورد استفاده قرار بگيرند سيستم طبقه بندی فضانام ايجاد کنيد. مايکروسافت اين مساله را برای شما حل کرده است. دو فضانام ريشه، و فضانامهای فرزند آنها را می توان وارد صفحات ASP.NET خود کرد. اولی System ناميده می شود، و دومی Microsoft نام دارد. اين فضانامها با جزئيات بيشتر در ادامه مورد بحث قرار گرفته اند.
فضانام System
فضانام System فضانام اصلی برای ساخت ASP.NET و همه برنامه های کاربردی ديگر مبتنی بر NET Framework. است. هر چيزی که در برنامه کاربردی شما قابل انجام باشد از طريق فضانام System کنترل می شود. به عنوان مثال کنترل آرايه، عمليات رياضی، و تبديل نوع داده ها از طريق فضانام System و فضانامهای فرزند آن اداره می شوند. ۹ فضانام پيش فرض (فضانام System و ۸ فرزند آن) وجود دارند که به صورت خودکار به صفحات ASP.NET اضافه می شوند:
• System
• System.ComponentModel.Design
• System.Data
• System.Drawing
• System.Web.SessionState
• System.Web
• System.Web.UI
• System.Web.UI.WebControls
• System.Web.UI.HTMLControls
هشت فضانام (بجز فضانام System) در زمان ساخت Visual Studio.NET يا VS.NET بطور خودکار به صفحات ASP.NET وارد می شوند. اين فضانام ها در زير به اختصار شرح داده شده اند.
• System.ComponentModel.Design: دربرگيرنده کلاس هايی است که می توان از آنها برای طراحی پشتيبانی سفارشی اجزا و زمان طراحی و دسترسی به سرويس های تامين شده توسط معماری NET Framework. استفاده کرد.
• System.Data: امکان دسترسی به کلاس ها و رابطهايی را فراهم می کند که معماری ADO.NET را برای دسترسی به داده های عمومی تشکيل می دهند.
• System.Drawing: دربرگيرنده کلاس ها و رابطهايی است که عملکرد گرافيکی اوليه را تامين می کنند. فضانام System.Drawing نيز از طريق فضانام System.Drawing.Drawing2D و System.Drawing.Imaging عملکرد پيشرفته تری فراهم می کند.
• System.Web: کلاس ها و رابطهايی تامين می کند که ارتباط مرورگر/سرويس دهنده را امکان پذير می کنند. اين فضانام دربرگيرنده کلاس HTTPRequest (فراهم کننده اطلاعات وسيعی درباره درخواست HTTP جاری)، کلاس HTTPResponse (فراهم آورنده امکان دسترسی به فرآيندها و يوتيليتی های سمت سرويس
دهنده) است.
• System.Web.SessionState: فراهم کننده کلاس ها و متدهايی برای مديريت وضعيت جلسات کاری می باشد.
• System.Web.UI: فراهم کننده کلاس ها و رابطهايی برای رابط واسط کاربر برنامه کاربردی ASP.NET است که موجب می شوند برنامه کاربردی با سطوح مختلف صفحه، ارتباط برقرار کند. کلاس اصلی اين فضانام، کلاس Page می باشد که دربرگيرنده همه خصوصيتها، متدها، و سازنده های صفحه است. اشياء اصلی Active Server Page زير خصوصيتهايی در کلاس Page هستند: Application ،Response ،Request ،Server و Session.
• System.Web.UI.HTMLControls: کلاس هايی برای عناصر HTML استاندارد، شامل فرم ها، کنترل های ورودی، آنکور، جداول، قسمتهای متنی، و غيره فراهم می کند. اين کنترلها همانند تگهای عادی HTML هستند با اين تفاوت که داری دو صفت runat="server" و id="controlname" می باشند.
• System.Web.UI.HTMLControls: برای کنترلهای سرويس دهنده ای که شبيه کنترلهای HTML هستند ولی انعطاف پذيری بيشتر و عملکرد پيچيده تری دارند کلاس هايی را تامين می کند.
برخی فضانام های مهم و پرکاربرد ديگر به شرح زير می باشند.
• System.IO: دربرگيرنده رابطها و کلاس هايی است که امکان خواندن و نوشتن همگام و غيرهمگام فايل ها و جريانهای داده را فراهم می کنند.
• System.Data.OleDb: امکان دسترسی به کلاس ها و رابطهای مخصوص دسترسی به يک منبع داده از طريق ADO را فراهم می کند.
• System.Data.SqlClient: امکان دسترسی به کلاس ها و رابطهای مخصوص دسترسی به داده های خاص Microsoft SQL Server از طريق ADO را فراهم می کند.
• System.Web.Security: امکان دسترسی به کلاسها و رابطهای مخصوص امنيت برنامه کاربردی ASP.NET را فراهم می کند. دستيابی به رمزنگاری، مجوزها، و تنظيمات خط مشی برنامه کاربردی در اين فضانام قرار می گيرند.
• System.XML: امکان دسترسی به کلاسها و رابطهای مخصوص پردازش اسناد XML را فراهم می کند.
فضانام Microsoft
علاوه بر فضانام System که در چارچوب NET. يافت می شود، مايکروسافت چند فضانام اضافه کرده است که برای زبان برنامه سازی ای که می خواهيد از آن در برنامه کاربردی خود استفاده کنيد عملکرد لازم را تامين می کنند. ممکن است شما بصورت مستقيم با اين فضانام کاری نداشته باشيد.
• Microsoft.VisualBasic: اين فضانام محتوی CLR يا زمان اجرای Visual Basic.NET است. از اين زمان اجرا با زبان Visual Basic.NET استفاده می شود. اين فضانام همچنين دربرگيرنده کلاس هايی است که از کامپايل و توليد کد با استفاده از زبان ويژوال بيسيک پشتيبانی می کنند.
• Microsoft.CSharp: اين فضای نام دربرگيرنده کلاس هايی است که از کامپايل و توليد کد با استفاده از زبان #C پشتيبانی می کنند.
• Microsoft.JScript: اين فضای نام دربرگيرنده کلاس هايی است که از کامپايل و توليد کد با استفاده از زبان JScript پشتيبانی می کنند.
• Microsoft.Win32: کلاسها و رابطهای مورد نياز برای کار با کليدها و hiveهای رجيستری را تامين می کند.
با وجود آنکه فضانام ها از قبل تامين می شوند، می توانيد برای استفاده از برنامه کاربردی ASP.NET فضانام های خود را ايجاد کنيد. برای هر کلاس ايجاد شده توسط سازنده يک فضانام توليد می شود.
استفاده از فضانام ها در صفحات ASP.NET
دو راه برای افزودن فضانام به برنامه کاربردی ASP.NET وجود دارد. از شبه دستور (Directive) صفحه Import@ برای صفحات ASPX و از کلمه کليدی Imports برای افزودن فضانام به برنامه codebehind مربوطه در ويژوال بيسيک استفاده می شود و برای زبان #C از دستور using استفاده می گردد. قطعه برنامه زير ترکيب نحوی برای افزودن فضانام System.Web.UI.WebControls به صفحه ASP.NET شما است.
<%@ Import namespace = "System.Web.UI.WebControls" %>
همين فضانام را در قسمت codebehind بصورت زير به برنامه اضافه می کنيم.
Imports System.Web.UI.WebControls (vb.net)
using System.Web.UI.WebControls; (C#)
( به تفاوت Import و Imports دقت کنيد )
در صورتيکه می خواهيد چند فضانام را به صفحه ASP.NET خود و يا صفحه codebehind اضافه کنيد بايد هرکدام را جداگانه اضافه کنيد. بعنوان مثال، برای افزودن فضانام System.Web.UI.HTMLControls به صفحات با فضانام های موجود، درست بعد از آخرين عبارت مهم به خط بعد برويد و Imports System.Web.UI.HTMLControls را اضافه کنيد. به محض آنکه .Imports System را تايپ کنيد، VS.NET فهرستی از فضانام ها را ظاهر می کند، و می توانيد به سادگی فضانام مورد نظر را با ماوس برگزينيد. امتياز اين فهرست آن است که مجبور نيستيد همه فضانام های NET. را از حفظ بدانيد، بلکه می توانيد به آسانی از فهرست انتخاب کنيد. اين ويژگی با عنوان Intellisense شناخته می شود. برای صفحات ASP.NET از اين ترکيب استفاده کنيد:
<%@ Import namespace = "System.Web.UI.WebControls" %>
<%@ Import namespace = "System.Web.UI.HTMLControls" %>
<%@ Import namespace = "namespace name" %>
...
برای صفحات codebehind ويژوال بيسيک از اين ترکيب استفاده کنيد:
Imports System.Web.UI.WebControls
Imports System.Web.UI.HTMLControls
Imports namespace
...
منبع [External Link Removed for Guests]
Namespace چيست؟
در اين بخش ميتوانيد در مباحث مربوط به زبان هاي برنامه نويسي تحت دات نت به بحث بپردازيد
مدیران انجمن: abbas.m.k, athlon64x2, شوراي نظارت
بازگشت به “Dot Net Programming”
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها
