دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: برنامه نویسی با دات نت چیست و توضیح دات نت فریم ورک

  1. #1
    یار همراه
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    نوشته ها
    2,968
    ارسال تشکر
    5,023
    دریافت تشکر: 4,729
    قدرت امتیاز دهی
    3407
    Array
    Bad Sector's: جدید102

    Arrow برنامه نویسی با دات نت چیست و توضیح دات نت فریم ورک

    برنامه نویسی با دات نت چیست و توضیح دات نت فریم ورک :

    شرکت مايکروسافت در جولای سال ۲۰۰۰ ميلادی در کنفرانس پياده کنندگان حرفه ای (PDC) ابتکار جديد خود يعنی دات نت NET. را معرفی نمود.
    دات نت چيست ؟
    در صورتيکه صفحه اختصاصی دات نت در سايت مايکروسافت را مشاهده کرده باشيد با تعريف زير مواجه می گرديد :
    " پلات فورم (Plathform) مايکروسافت برای سرويس های وب XML " .
    مايکروسافت همچنين دات نت را بعنوان روشی برای توزيع و عرضه سرويس های نرم افزاری مطرح نموده است . تعاريف فوق گرچه برخی از ابعاد مهم دات نت را تشريح می نمايند ولی نگرش فوق صرفا" از يک بعد ساده و از زاويه يک شرکت مورد توجه قرار گرفته است . برای پياده کنندگان نرم افزار دات نت يک الگوی جديد جهت طراحی و پياده سازی نرم افزار است . در اين مقاله به بررسی الگوی فوق پرداخته و از اين رهگذر جايگاه ASP.NET در اين پروژه نيز تبين خواهد شد.

    نگاهی اجمالی به گذشته :
    تاکنون از خود پرسيده ايد که برنامه های کامپيوتری چگونه کار می کنند ؟ چگونه کدهای نوشته شده به يکی از زبانهای سطح بالا نظير ويژوال بيسيک به يک برنامه اجرائی تبديل می شوند؟
    در گذشته عمليات فوق از طريق بکارگيری کمپايلرها ( مترجم ها ) تحقق پيدا می کرد. کمپايلرها برنامه های خاصی هستند که کدهای نوشته شده به يکی از زبانهای سطح بالا را به زبان اختصاصی ماشين نظير اسمبلی ترجمه می نمايند ( اين کدها در ادامه به زبان ماشين ترجمه خواهند شد) .
    کدهای اسمبلی و کدهای زبان ماشين کاملا" وابسته به يک پلات فورم خاص خواهند بود. مثلا" کدهای ماشين نوشته شده برای يک پردازنده اينتل قادر به اجراء بر روی هر نوع ماشين ديگر نظير مکينتاش نخواهند بود. ( در حقيقت کدهای ماشين قادر به اجراء بر روی ماشينی با مجموعه دستورات خاص خواهند بود و در اين راستا ماشين ديگر که از پردازنده ديگر و به تبع آن از مجموعه دستورات خاصی استفاده می کند، قابل اجراء نخواهند بود ) .

    برنامه های نوشته شده برای ويندوز به زبان ماشين ترجمه شده بگونه ای که قادر به استفاده از مجموعه توابع کتابخانه ای موجود در Win32 باشند. کتابخانه فوق شامل مجموعه ای از صدها تابع مختص ويندوز است . توابع فوق مستقيما" با ويندوز ارتباط و مسئوليت ارتباط با سطوح سطح پايين سخت افزار را برعهده خواهند گرفت . زمانيکه يک برنامه ويژوال بيسيک قصد نمايش يک MessageBox را داشته باشد ، تمامی پردازش های مربوطه تا زمانيکه برنامه ترجمه نشده و به يک فايل اجرائی تبديل نگردد ، آغاز نخواهد شد. پس از ترجمه برنامه ، دارای يک فايل اجرائی با انشعاب .exe خواهيم بود. فايل فوق را می توان بر روی هر محيطی که سيستم عامل ويندوز بر روی آن نصب شده باشد، اجراء نمود.( در چنين شرايطی لزومی به حضور ويژوال بيسيک بر روی کامپيوتر مورد نظر نخواهد بود). در حقيقت کمپايلر ويژوال بيسيک کدهای سطح بالا را بگونه ای تبديل نموده که برای سيستم عامل قابل فهم باشند. در نهايت سيستم عامل کدهای فوق را بگونه ای که قادر به اجراء بر روی يک کامپيوتر خاص باشند، ترجمه و اجراء خواهد نمود.

    بنظر عمليات فوق پيچيده بنظر می آيد . خوشبختانه تمامی مراحل ترجمه های فوق از ديدگاه استفاده کننده مخفی نگاهداشته شده و برنامه نويسان کافی است تمام تمرکز خود را بر روی نوشتن برنامه معطوف داشته و هيچگونه نگرانی در رابطه با ترجمه نداشته و تمامی عمليات در اين راستا را بر عهده کمپايلرها واگذار و در نهايت يک فايل اجرائی را تحويل گيرند.

    در رابطه با رويکرد فوق برخی مسائل اساسی وجود دارد که در ادامه به آنها اشاره می گردد:

    رويکرد فوق کاملا" وابسته به پلات فورم است . اين بدان معنی است که زمانيکه يک برنامه را مثلا" با ويژوال بيسيک می نويسيد ، برنامه فوق صرفا" بر روی کامپيوترهائی که از ويندوز استفاده می نمايند، قابل اجراء خواهد بود.
    هيچگونه تضمينی وجود ندارد که دو برنامه اجرائی نوشته شده با زبانهای برنامه نويسی متفاوت دارای کدهای مشابه سطح پايين باشند. بنابراين اشتراک مجموعه ای از توابع برای زبانهای برنامه نويسی غيرممکن بنظر می رسد. ( مايکروسافت با ارائه تکنولوژی Com سعی در ارائه راهکاری جهت حل مشکل فوق را داشت ولی عملا در مراحل عملياتی با مشکل مواجه گرديد. مثلا" اگر قصد بکارگيری عناصر COM نوشته شده به زبان ويژوال بيسيک را بهمراه عناصر COM نوشته شده به زبان ويژوال C+ + را داشته باشيد در زمان پاس دادن پارامتر بين آنها به مشکلات خاصی برخورد خواهيد کرد. (

    کتابخانه Win32 API چيزی بيش از مجموعه وسيعی از توابع نيست . توابع فوق هريک دارای تعاريف اختصاصی خود بهمراه پارامترهای مربوطه می باشند. در برنامه های ويژوال بيسيک و يا C++ به دفعات ممکن است اين نياز احساس گردد که مستقيما" يکی از توابع موجود در Win32 API فراخوانی گردد ، يافتن تابع مورد نظر جهت فراخوانی کار ساده ای بنظر نمی آيد!

    بموازات رشد و توسعه نرم افزارها مسئله دوم يکی از اساسی ترين چالش های جدی در زمينه برنامه نويسی گرديد. در حالت ايده آل ما اين انتظار را داريم که هر مجموعه تابع و يا عناصری را که بکمک يک زبان برنامه نويسی نوشته شده اند را بتوان به اشتراک گذاشت و زمينه استفاده از آنان برای ساير زبانهای برنامه نويسی نيز فراهم گردد. مسئله فوق از اين زاويه نگران کننده تر بنظر خواهد آمد که توجه داشته باشيم هر زبان برنامه نويسی ممکن است نوع های داده ئی اوليه مربوط به خود را دارا باشد. مثلا" در ويژوال بيسيک می توان برداری را داشت که که ايندکس باند پايين آن از هر محدوده ای شروع گردد در صورتيکه در C++ اين تاکيد وجود دارد که حتما" می بايست باند پايين با ايندکس صفر آغاز گردد.
    برای داشتن چیزی که تا به حال نداشته اید
    باید کسی باشید که تا به حال نبوده اید

  2. 2 کاربر از پست مفید Bad Sector سپاس کرده اند .


  3. #2
    یار همراه
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    نوشته ها
    2,968
    ارسال تشکر
    5,023
    دریافت تشکر: 4,729
    قدرت امتیاز دهی
    3407
    Array
    Bad Sector's: جدید102

    پیش فرض برنامه نویسی دات نت

    مايکروسافت با ارائه دات نت .NET عملا" پاسخ های شايسته ای را نيز برای هر يک از مسائل گفته شده ارائه نموده است. از ديدگاه يک پياده کننده نرم افزار ، دات نت دارای دو بخش اساسی است :
    CLR یا Common Language Runtime و کلاس های فريمورک دات نت (.NET framework Classes) .
    بخش های فوق بگونه ای به مسائل اشاره شده پاسخ های مناسبی را ارائه داده اند.

    Common Language Runtime - CLR

    در ابتدای مقاله به نحوه عملکرد کمپايلرهای کلاسيک در رابطه با ترجمه کدهای نوشته شده توسط يکی از زبانهای سطح بالا به دستورات قابل فهم برای کامپيوتر اشاره گرديد . در دات نت فرآيند ترجمه يک برنامه سطح بالا به زبان ماشين بصورت کاملا" محسوس تغيير يافته است . کمپايلرهای سازگار با دات نت کدهای نوشته شده توسط يکی از زبانهای برنامه نويسی را به Win32 API Call ترجمه نخواهند کرد. کمپايلرهای فوق کدهای نوشته شده را به يک زبان ميانه خاص با نام MSIL یا Microsoft Intermediate Language تبديل خواهند کرد. در ادامه CLR کدهای زبان ميانه ای ( IL ) را اخذ و on the fly آنان را به دستورالعمل های اختصاصی ماشين تبديل خواهند کرد.

    توجه داشته باشيد که مرحله CLR به Runing Program صرفا" زمانی اتفاق خواهد افتاد که يک برنامه اجراء گردد. کمپايلر فايلی با محتويات کدهای MSIL را ايجاد خواهد کرد.زمانيکه فايل فوق اجراء می گردد ،کدهای MSIL به سمت CLR روانه شده و در ادامه با استفاده از مترجم JIT(Just-In-Time) کدهای IL به دستورات قابل فهم برای کامپيوتر تبديل خواهند شد. ( يک برنامه در حال اجراء بکمک CLR )



    .NET FramWork Classes

    در برنامه های نوشته شده تحت ويندوز با استفاده از Win32 API زمينه استفاده از مجموعه ای وسيع از توابع فراهم می گردد. توابع فوق برای انجام عمليات متفاوتی نظير: رابط گرافيکی کاربر ، عمليات متفاوت در رابطه با سخت افزار و ساير عمليات مرتبط ، با سيستم عامل مرتبط خواهند شد. بنابراين برنامه های تحت ويندوز برای ارتباط با سيستم عامل و بهره مندی از خدمات آن ، خواسته خود را از طريق فراخوانی توابع مربوطه در Win32 API انجام خواهند داد.

    برنامه های دات نت چگونه با سيستم عامل مرتبط خواهند شد؟
    خوشبختانه Win32 API مربوط به گذشته بوده و برنامه های دات نت از کلاس های فريمورک دات نت استفاده می کنند. فريمورک فوق مجموعه ای سازمانيافته از کلاس هائی است که بمنظور انجام تمامی عمليات مورد نظر يک طراح و پياده کننده نرم افزار طراحی و پياده سازی شده اند.

    برخلاف Win32 API ، کلاس های دات نت در يک سيستم سلسله مراتبی NameSpace سازماندهی شده اند. هر NameSpace می تواند دارای تعداد نامحدودی از کلاس ها باشد. مثلا" NameSpace پايه ای System شامل کلاس هائی است که از آنها برای نوع داده های اوليه نظير : System.Int32, System.Array , System.string و غيره استفاده می شود. NameSpace ،System.Data شامل کلاس ها و ساير Namespace های مربوطه برای دستيابی به داده ها است . NameSpace ،System.IO شامل کلاس های مربوطه برای انجام عمليات متفاوت در رابطه با فايل ها و ورودی و خروجی است . دات نت دارای صدها کلاس بوده که تمامی آنها با استفاده از Namespace ها بدرستی سازماندهی شده اند. طراحان و برنامه نويسان می توانند در صورت نياز اقدام به طراحی کلاس های اختصاصی و NameSpace مربوط به خود نموده و آنها را در برنامه های دات نت خود استفاده نمايند.

    دقت داشته باشيد که کلاس های فريمورک دات نت شامل يک کلاس برای هر يک از نوع داده ها در NameSpace ، System می باشد. زبانهای برنامه نويسی دات نت نظير VB.NET , C# , Jscript.NET می بايست از اين نوع ها استفاده نمايند . اين بدان معنی است که هر نوع داده بمنزله يک کلاس در نظر گرفته خواهد شد. بنابراين زمانی که عملياتی مطابق زير را انجام می دهيم :
    کد:
    IN VB.NET: Dim i as Integer IN C# : int i; IN Jscript.NET : Var i;

    در حقيقت يک نمونه از يک کلاس System.Int32 را ايجاد کرده ايم . با توجه به اين امر که هر يک از زبانهای برنامه نويسی از نوع داده های يکسان استفاده و از مجموعه يکسانی از کلاس ها استفاده می نمايند ، ارتباط متقابل بين زبانها ی برنامه نويسی که زمانی بيش از يک آرزو نبود ، ميسر خواهد شد .
    بدون دليل نيست که CLR را Common Language Runtime ناميده اند.
    برنامه های نوشته شده توسط هر يک از زبانهای برنامه نويسی در نهايت و پس از ترجمه توسط کمپايلرهائی که دات نت را حمايت می نمايند ، به کدهای MSIL تبديل خواهند شد بدين ترتيب اين اطمينان و تضمين بوجود خواهد آمد که تا اين مرحله ( مرحله ترجمه کدهای نوشته شده با يک زبان برنامه نويسی و ترجمه آنها به MSIL ) تمامی زبانهای برنامه نويسی از نوع داده ها و کلاس های موجود در فريمورک دات نت استفاده کرده اند.
    برای داشتن چیزی که تا به حال نداشته اید
    باید کسی باشید که تا به حال نبوده اید

  4. #3
    یار همراه
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    نوشته ها
    2,968
    ارسال تشکر
    5,023
    دریافت تشکر: 4,729
    قدرت امتیاز دهی
    3407
    Array
    Bad Sector's: جدید102

    پیش فرض حل مشکلات سه گانه

    همانطور که در ابتدای اين مقاله اشاره شده ترجمه مستقيم کدهای نوشته شده به کدهای ماشين باعث بروز سه مسئله اساسی : وابستگی محض به پلات فورم ، بروز مشکل در ارتباط متقابل بين زبانها و ساختار آشقته Win32 API می گردد. دات نت برای سه مسئله فوق راهکارهای مناسبی را ارائه نموده است .

    مشکل اول در مرحله تئوری نمی تواند باعث بروز مسائلی گردد . در تئوری مايکروسافت می تواند CLR و کلاس های فريمورک دات نت را برای هر نوع پلات فورم و سيستم عامل ارائه نمايد. اين بدان معنی است که کدهای MSIL توليده شده توسط VB.NET را می توان بر روی لينوکس نيز اجراء نمود. در دنيای واقعي مايکروسافت تاکنون در زميته تامين خواسته هائی اينچنين فعاليت های خاصی را انجام نداده است .

    در رابطه با مشکل دوم ( ارتباط متقابل بين زبانها ) با ارائه نوع های داده ئی و توابع مورد نظر که در سطح سيستم عامل فعاليت می نمايند ، با مسئله فوق بدرستی برخورد و راهکار مناسبی ارائه شده است . بر اساس راهکار فوق ، تمامی زبانهای برنامه نويسی مورد حمايت در دات نت می بايست از کلاس های فريمورک دات نت استفاده نموده و پس از ترجمه اوليه کدهای MSIL را توليد نمايند.

    در رابطه با مشکل سوم ( ساختار آشفته Win32 API ) فريمورک دات نت ، تمامی کلاس ها را در يک ساختار سلسله مراتبی سازماندهی نموده و از اين طريق دستيابی ، استفاده و شناخت عملکرد هر يک از آنان بمراتب راحت تر از win32 API انجام خواهد شد.

    جايگاه ASP.NET در دات نت :
    نسخه جديد ASP است که توسط مايکروسافت ارائه شده است . ASP از تمامی فاکتورهای تشريح شده دات نت که به آنها اشاره گرديد بدرستی استفاده می کند. اين بدان معنی است که صفحات ASP.NET می بايست با استفاده از يکی از زبانهای سازگار با دات نت نظير : VB.NET , C# , Jscript.NET ايجاد گردنند.

    زمانيکه يک صفحه ASP.NET بکمک يک مرورگر مشاهده می گردد ، در ابتدا ASP.NET engine بررسی خواهد کرد که آيا آخرين نسخه بهنگام سازی شده از کدهای IL برای صفحه ASP.NET وجود دارد؟ در صورتيکه اين نسخه وجود داشته باشد ، کدهای IL روانه CLR شده و خروجی HTML توليده شده توسط صفحه ASP.NET برای مرورگر سرويس گيرنده ارسال خواهد شد. در صورتيکه کدهای IL موجود نبوده و يا صفحه اوليه ASP.NET از زمانيکه کدهای IL آن توليد شده اند ، تغيير کرده باشد ، صفحه ASP.NET می بايست مجددا" ترجمه گردد. در چنين حالتی با توجه به زبانی که برای نوشتن کدهای صفحه ASP.NET استفاده شده است ، کمپايلر مربوطه فعال و کدهای IL توليد خواهند شد. کدهای IL فوق بر روی ديسک ذخيره تا مورد استفاده در آينده قرار گيرند.

    در صورتيکه تاکنون صفحات ASP.NET را ايجاد کرده باشيد ، به نقش بسيار مهم کنترل های وب واقف شده ايد. از کنترل های فوق می توان به همراه صفحات ASP.NET برای ايجاد عناصر HTML نظير : Text Box , Labels , ListBoxes استفاده نمود. مثلا" برای ايجاد يک TextBox بکمک يک کنترل وب می توان از عبارتی مطابق زير استفاده نمود :
    کد:
    <asp:textbox   id="name"  runat="server" />
    در حقيقت صفحه ASP.NET می تواند شامل ترکيبی از کدهای Server-Side ( محصور شده در بلاک Script ) و in-line HTML باشد.

    يک نمونه صفحه ASP.NET
    کد:
    <script language="VB" runat="Server">
    
             Sub Page_Load(sender as Object, e as EventArgs)
    
            lblMessage.Text = "Hello, World!"
    
       End Sub
    
    </script>
    
    <html>
    
    <body>
    
    <h1>Simple ASP.NET Demo</h1>
    
    <asp:label id="lblMessage" runat="server" />
    
    </body></html>
    چگونه کدهای Server-Side و HTML موجود در يک صفحه ASP.NET ترجمه شده تا کمپايلر VB.NET قادر به شناخت آنان باشد؟
    يکی از مهمترين عملياتی که توسط ASP.NET engine می بايست انجام گيرد ، ترجمه کدهای HTML/Server-Side به کلاسی است که کمپايلر VB.NET ( و يا ساير کمپايلرهای C# , Jscript.NET ) قار به تشخيص آنان باشند. پردازش فوق پيچيده بوده و از حوصله اين مقاله خارج است . کافی است به اين نکته اشاره گردد که صفحات به کلاسی تبديل خواهند شد که خصوصيات خود را از کلاس page ( يکی از کلاس های فريمورک دات نت ) به ارث خواهند برد. در حقيقت تمامی کنترل های وب که در صفحات ASP.NET استفاده می گردند ، بصورت کلاس هائی در فريمورک دات نت در نظر گرفته خواهند شد. در اين راستا تمامی کدهای Html که بصورت موردی در صفحات ASP.NET استفاده می گردنند ،بعنوان نمونه هائی از کلاس LiteralText در نظر گرفته خواهند شد.

    اولين نسخه ASP.NET در ماه جولای سال 2001 عرضه گرديده است . (Beta Version) هم اکنون نسخه 2 نیز ارائه شده است. با استفاده از ASP.NET می توان کارهای بزرگ و شگفت انگيزی را انجام داد که اگر قصد انجام آنها را به کمک ASP کلاسيک داشتيم ، می بايست صدها خط برنامه شامل کدهای آشفته ( غيرساختيافته ) را نوشت .

    منبع
    برای داشتن چیزی که تا به حال نداشته اید
    باید کسی باشید که تا به حال نبوده اید

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. Nokia 5730 XpressMusic اسباب بازی گرانقیمت
    توسط Bad Sector در انجمن Nokia
    پاسخ ها: 1
    آخرين نوشته: 29th November 2011, 10:42 PM
  2. Samsung i8910 Omnia HD قهرمان چشم بادامی
    توسط Bad Sector در انجمن Samsung
    پاسخ ها: 1
    آخرين نوشته: 4th February 2011, 09:46 PM
  3. راهنمای خرید Camcorder: دریچه ای رو به جهان
    توسط Bad Sector در انجمن عکاسی
    پاسخ ها: 0
    آخرين نوشته: 3rd February 2011, 08:35 PM
  4. دانلود: مجموعه نرم افزاری لرد 2010
    توسط moji5 در انجمن سایر نرم افزارها
    پاسخ ها: 14
    آخرين نوشته: 24th November 2010, 06:34 PM
  5. مطالعــه تطبیقی مدلهال برنامه ریزی استراتژیک
    توسط ریپورتر در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 30th September 2010, 10:36 AM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •