PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : همه چیز در مورد >>>شی و شی گرایی<<<



Borna66
03-31-2011, 01:05 AM
متدولوژی شی گرا مجموعه ای از تفکرات و دید های قبلی است . اصولا در مفاهیم شی وشی گرایی به این نکته می رسیم که این مفاهیم چیزی جز مفاهیم طبیعی نیستند ، در نتیجه می توان گفت که تفکر شی یک تفکر معمولی و طبیعی است و یک شی هر چیزی

می تواندباشد.

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

استفاده از مفاهیم شی گرا به شما در درک نیازهای کاربران کمک می کند و چنانچه بتوانید این نیازها را به تصویر بکشید، درک آن ها سریع تر و آسان تر (هم برای شما و هم برای مشتریان) خواهد بود.

گردآورنده: طه - Borna66

روزگار خوش

Borna66
03-31-2011, 01:06 AM
چرا از شی گرا استفاده می کنیم؟

شی گرایی می تواند دارای منافع زیادی باشد ، اما باید به خاطر داشت که اصولا متدولوژی شی گراهمانند همه متدولوژی های دیگر

توانایی حل تمام مسائل را ندارد ولی به هرحال برخی از منافع این متدولوژی را می توان به شکل زیر عنوان کرد :

- کم بودن اشکالات

روش شی گرا بنا به طبیعت و امکانات ذاتی خود امکان کاهش اشکالات را فراهم می آورد.

- افزایش موفقیت

متدولوژی شی گرا می تواند موفقیت تیم پروژه را از طریق کاهش زمان تحلیل ، طراحی و برنامه نویسی بالا ببرد و

می تواند برنامه زمان بندی پروژه را به صورت چشمگیری کاهش دهد.

- توسعه سریع و کاهش هزینه

با استفاده از مفهوم دوباره استفاده نمودن ، می توان زمان توسعه سیستم را بهبود بخشید وچون اشیای دوباره استفاده شده قبلا آزمایش شده اند در نتیجه عمل توسعه سیستم از طریق استفاده مجدد آنها باعث بالا رفتن بهره وری و بهبود کیفیت خواهد شد و بطور کلی کاهش هزینه ها منجر گردد.

- امکان ارائه مدل نمونه

به دلیل ذاتی بودن مراحل تحلیل و طراحی و تهیه برنامه ها نیاز به استفاده از مدلهای نمونه می باشد ، در نتیجه امکان برقراری وتعامل همیشگی با مشتری وکاربران فراهم می آید .

- کاهش پیچیدگی ها

به خاطر اینکه هر شی مجموعه اطلاعات مورد نیاز خود را در داخل خود نگهداری می کند مفاهیمی همانند دوباره استفاده کردن ، مخفی سازی و مفهومی به نام خود کفایی باعث خواهد شد که پیچیدگی سیستم های دیگر و اثراتی که سیستم های دیگر روی یک سیستم می گذارند را نداشته باشد .

- نگهداری و اصلاح ساده تر

متدولوژی شی گرا بواسطه استفاده از مفهوم مخفی سازی و نیز خود کفایی نسبت به معماری ها ی متداول متکی به سلسله مراتب وظایف ، امکان نگهداری، اصلاح و احتمالا گسترش ساده تری دارند .

- تطابق با ابزارهای جدید

اکثر ابزارهای جدید همانند سیستم های کلاینت – سرور بر مبنای مفاهیم شی گرا بنا شده اند ، در نتیجه استفاده از تحلیل طراحی و برنامه نویسی شی گرا را با معنی تر نموده است .

Borna66
03-31-2011, 01:07 AM
اکنون به بررسی سایر جنبه های اشیا می پردازیم .


تجرید- Abstraction

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

Borna66
03-31-2011, 01:07 AM
میراث - Inheritance

میراث یکی از جنبه های مهم در مفاهیم شی گرایی است . یک شی صفات وعملیات کلاس خودش را به ارث می برد.یک کلاس همچنین می تواند صفات و عملیات را از کلاس دیگری به ارث ببرد.

Borna66
03-31-2011, 01:08 AM
چند شکلی - Polymorphism

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

Borna66
03-31-2011, 01:09 AM
پنهان سازی - Encapsulation

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

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

Borna66
03-31-2011, 01:09 AM
ارسال پیام- Message Sending

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

Borna66
03-31-2011, 01:10 AM
تناظر یا ارتباط- Associations

نمونه متداول دیگری است که نشان می دهد اشیا در بعضی حالات به یکدیگر وابسته هستند. مثلا وقتی تلویزیون را روشن می کنید در اصطلاح مدل شی گرا،شما در یک تناظر با تلویزیون خودتان هستید.تناظر یک ارتباط ساختاری بین دو شی است .

تناظر " روشن کردن " یک طرفه است ، یعنی شما تلویزیون را روشن می کنید و عمل روشن شدن یک طرفه انجام می شود .

تناظر هایی مثل تناظر " ازدواج کردن با " دو طرفه است . در مجموع می توان گفت که اشیا بطور خاص با هم تناظر دارند که این تناظر دارای انواع مختلفی است . یک شی از یک کلاس ممکن است با چند شی از کلاس دیگر متناظر باشد .

Borna66
03-31-2011, 01:11 AM
تجمع - Aggregation

برای نشان دادن وابستگی بین اجزا و کل از ارتباط تجمع استفاده می کنیم . در واقع تجمع نوع دیگر از تناظر یا ارتباط بین اشیا می باشد .

نوع دیگری از تجمع به نام ترکیب وجود دارد که درگیر یک ارتباط قوی بین شی تجمع با اشیای جز اش می باشد .

خاصیت ترکیب آن است که یک جز در داخل یک شی ترکیبی دارای معنی و مفهوم است . در یک شی مرکب ، اجزا فقط به عنوان بخشی از ترکیب وجود دارند .

Borna66
03-31-2011, 01:12 AM
یک کوییز!!:59:


1- شی چیست ؟

یک شی نمونه ای از یک کلاس است.

2- چگونه اشیا با هم کار می کنند ؟

اشیا از طریق فرستادن پیام با یکدیگر کار می کنند.

3- چند تایی به چه چیزی اشاره می کند ؟

چند تایی اشاره به تعداد اشیا از یک کلاس می کند که مرتبط با یک شی از کلاس متناظر می باشد .

4- آیا دو شی می توانند با بیشتر از یک راه با یکدیگر متناظر شوند ؟

بله ، بطور مثال دو شخص می توانند هم دوست باشند وهم همکار .