رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مقدمه ای بر تکنولوژی Windows Presentation Foundation
#1
تکنولوژي هاي جديد دات نت

از زمان ظهور دات نت، با اولين نسخه آن يعني دات نت فريم ورک 1.0 که همراه با ويژوال استوديو 2002 همراه بود، تا به امروز که شاهد نسخه 3.5 از اين تکنولوژي مي باشيم، تغييرت بسياري در آن به وجود آمده است. افزوده شدن کلاس هاي جديد در غالب فايل هاي DLL اي که ما آن ها را دات نت اسمبلي مي ناميم، همچنين اضافه شدن تکنولوژي هاي جديد به اين مجموعه باعث گسترش کاربرد اين مجموعه شده است.

همزمان با ظهور نسخه 3.0 دات نت فريم ورک، تکنولوژي هاي جديدي نيز به وجود آمد. اين تکنولوژي ها، که بر خلاف تصور سطحي و ابتدايي بسياري از برنامه نويسان در ابتداي ظهور آن ها، صرفا اضافه شدن تعدادي دات نت اسمبلي به دات نت اسمبلي هاي قبلي، تلقي مي شد، تغييرات بسياري را در امر برنامه نويسي دات نت به وجود آورد. تکنولوژي WPF به همراه تکنولوژي هاي WCF و WWF با نسخه 3.0 دات نت فريم ورک توسط شرکت ماکروسافت معرفي شدند.

در ادامه توضيح مختصري راجع به WCF و WWF خواهيم ديد و سپس به بحث اصلي، يعني WPF خواهيم پرداخت.

Windows Communication Foundation

تکنولوژي WCF که مخفف Windows Communication Foundation مي باشد، ترکيب شده تکنولوژي هاي ارتباطي مختلفي که در دات نت فريم ورک 2.0 وجود داشت، مي باشد. در دات نت فريم ورک 2.0 ، تکنولوژي هاي ارتباطي بين سيستم ها عبارت بودند از، ارتباطات بر پايه Soap ، ارتباطات دودويي بهينه شده و... . تکنولوژي WCF که با نام Indigo نيز شناخته مي شود، تمامي جنبه هاي ارتباطي بين سيستم ها را درون خود دارد. جهت مطالعه بيشتر به آدرس Windows Communication Foundation و WCF مراجعه نماييد.

تکنولوژي WWF که مخفف Windows Workflow Foundation مي باشد و بيشتر به صورت مخفف WF نشان داده مي شود، امکان پياده سازي و حل مسائل پيچيده دنياي پيرامون خود را که در حالت عادي ممکن است حل آن بسيار پيچييده و دشوار به نظر آيد، به صورت بصري و بسيار ساده ارائه مي کند. در کل دو شکل Sequential و State Machine را مي توانيد با WF پياده سازي کنيد. به عنوان نمونه بسيار ساده به راحتي مي توانيد يک دستور چند شرطي را به صورت کاملا انتزاعي و با امکاناتي که براي طراحي آن موجود است، پياده سازي نماييد. به عنوان مثال، نمونه زير، پياده سازي يک دستور چهار شرطي در سيستم WF از نوع Sequential مي باشد.

[عکس: SequentialWorkflow.jpg]

جهت اطلاعات بيشتر در مورد WF به آدرس هاي زير مراجعه نماييد

Windows Workflow Foundation و WWF

نکته: تکنولوژي ديگري که همراه با دات نت فريم ورک 3.0 منتشر شد، Windows CardSpace بود که با نام info Card نيز معروف مي باشد. که جهت اطلاعات بيشتر مي توانيد به آدرس هاي زير مراجعه نماييد

Info CardSpace



معرفي تکنولوژي WPF[/size]

بررسي نياز به اين تکنولوژي

پس از توضيح و اشارات مختصري درباره تکنولوژي هاي همپاي تکنولوژي WPF که ارتباط بسيار نزديکي نيز با هم دارند، اينک به معرفي تکنولوژي WPF خواهم پرداخت.

WPF سر آغاز سه کلمه Windows Presentation Foundation مي باشد. هر کسي که تا به حال در محيط هاي گرافيکي و يا به اصلاح برنامه نويسان، محيط هاي ويژوال، برنامه نويسي کرده باشد، يقينا با مفاهيم Windows Application ها که گاها به صورت مخفف WinApp نيز ناميده مي شوند، آشنا مي باشد. اين نوع برنامه نويسي همزمان با ورود سيستم عامل هاي ويندوز در دنياي کامپيوتر شروع شد و روز به روز با به وجود آمدن زبان هاي متفاوت جايگاه محبوبتري نزد برنامه نويسان پيدا کرد. در اينجا قصد توضيح دادن اين نوع برنامه نويسي را ندارم. فقط نگاهي گذرا به آن خواهم داشت تا مفهوم تکنولوژي WPF برايتان روشن تر گردد.

همانطور که مي دانيد، Windows Application ها، از API هاي سيستم عامل مربوطه ( که اکثرا ويندوز XP نيز مي باشد) براي ترسيم عناصر گرافيکي يا همان عناصر ويژوال، استفده مي کنند. به عنوان مثال براي ترسيم انواع دکمه ها، فرم ها و بسياري از عناصرديگري که با آن ها آشنا هستيد، از توابع API ويندوز کمک گرفته مي شود. همين مسئله باعث ايجاد محدوديت براي برنامه نويسان در ايجاد کنترل هاي سفارشي با ظاهر دلخواه خود شده بود. اگر چه با ابزار هاي گرافيکي که در دات نت فريم ورک 2.0 نيز وجود داشت، مي توانستيم تا حد خوبي اقدام به ايجاد کنترل هاي مورد دلخواه خود را بکنيم، اما اين موضوع نياز به دانستن اطلاعات زياد در مورد ايجاد کنترل هاي سفارشي و همچنين نوشتن گاها کد هاي بسيار زيادي جهت ايجاد کنترل مورد نظر مي بود. اين به آن دليل بود که قالب و اساس اوليه کنترل ها بسته بود و نمي توانستيد به راحتي کنترل ها را شخصي سازي نماييد. در بهترين حالت، يک برنامه نويس ماهر ميتوانست با ارث بري از کلاس Control اقدام به ايجاد يک کنترل جديد با ظاهر و امکانات مورد نظر خود بکند. به عنوان مثال کنترل منوي زير را اخيرا براي شرکتي طراحي کردم. تنها، يکي از کلاس هاي اين منو داراي 1000 خط کد به غير از کدهاي توليد شده توسط خود دات نت مي باشد. شايد 1000 خط، براي يه برنامه نويس بسيار ناچيز باشد. ولي چنانچه بخواهيد تمامي کنترل هاي برنامه هاي خود را، خودتان طراحي کنيد، مي بينيد که زمان زيادي از وقت شما صرف نوشتن کد ها مي گردد.

[عکس: SampleMenu.jpg]

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


هدف از ارائه مطالب در اینجا فقط بحث و گفتگو است پس لطفا اگر سوالی دارید مطرح کنید

منبع :http://softprojects.org
نویسنده مهدی کیانی
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط behnaz ، click2ir


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان