تبليغاتX
مجله کامپیوتر
 
   
     
 
 
 

سلام بچه ها من در پست بعدی یکم درباره ی  ado.net  براتون میگم ...

ولی امیدوارم خسته نشین

واسه همین... یکم پست بعدی پر جذبه تر خواهد شد!!!!

 معرفی ساختار کلاس ها:

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

حال به معرفی ساختار یک کلاس  و ویژگی های آن میپردازیم.

در برنامه نویسی ساخت یافته هر برنامه را می توانستیم به دو بخش اصلی که کاملاً از هم جدا بودند تقسیم کنیم:  

                       1-الگوریتم ها                          2-داده ها

ولی در روش شئ گرا این دو بخش را در یک بسته به نام کلاس قرار داده ایم وبین آنها یک ارتباط دائمی برقرار کرده ایم . به این بسته ها کلاس میگوییم.

الگوریتم ها

Metod)

 یا 

Bihaviors)

داده ها

State) 

یا

(properties

در هر برنامه شئ گرا اغلب  نیاز به تعریف چندین کلاس مختلف داریم و برای استفاده از آنها کافی است از آنها یک نمونه یا instance بگیریم.

در واقع کلاس یک نوع abstract data type  است که دارای یکسری property  میباشد. بنا براین در هر زبانی برای تعریف یک نمونه کافی است یک متغیر از نوع آن کلاس تعریف کنیم.

پیاده سازی اشیاء :

در عمل به ازای تعریف هر نمونه جدید (شئ جدید) تمام خصوصیات کلاس مورد نظر برای آن شئ  تعریف میشوند ولی الگوریتم ها بین تمامی اشیاء مشترک است (share)

c

b

a

و هر گاه یکی از آنها به یک metod  نیاز داشته باشند یک اشاره گر (this) که از آن شئ خاص به metod  ایجاد میشود وارتباط لازم را بین داده ها و الگوریتم ها ایجاد می کند.

 

بقیه متن در ادامه مطلب

 


ارسال به:  ارسال به سایت مهندس - Mohandes ::  ارسال به سایت Delicious :: ارسال به سایت Stumble ::  ارسال به سایت Furl :: ارسال به سایت AddThis :: ارسال به سایت کلوب  :: فید وبلاگ مجله کامپیوتر

 
 
   |    نوشته شده توسط Mehdi ادامه مطلب ... | 
 
 
  اگر راجع به ADO.NET  چیزی نمیدونید و دوست دارید با دیتا  بیس کار کنید بازم اینجا سر بزنید ضرر نداره که . . .

چون احساس کردم نیاز به یه سری اطلاعات راجع به برنامه نویسی شی گرا دارید واستون این مقاله رو میذارم :

 بخش اول---------------------------

توضیحی اجمالی راجع به تاریخچه برنامه نویسی:

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

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

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

اشکالاتی از قبیل اینکه:

این روند از چند جهت  فقط برای برنامه های کوچک مفید بود.مثلاً نوشتن برنامه های بزرگ بسیار مشکل بود واز آن مهمتر سختی مرحله اشکالزدایی برنامه بود ویا برنامه نویس ناچار بود برای اجرای  یک عملیات 5 خطی که به طور نامنظم(غیر قابل پیاده سازی توسط حلقه ها) در 100 محل از برنامه قرار داشت .100 بار قطعه کد مربوطه را پیاده سازی کند. که هم باعث خستگی برنامه نویس میشد و هم باعث بلندی برنامه میگشت.ومشکلات دیگری از این قبیل دیگه...

برای رسیدن به یک استاندارد برای غلبه بر مشکلات ذکر شده  در سال 1960 اولین زبان ساخت یافته ایجاد شد.

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

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

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

 بخش دوم---------------------------

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

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

ساده تر شدن پیاده سازی الگوریتمها(تجزیه به توابع)

افزایش خوانایی برنامه ها

آسان شدن اشکالزدایی برنامه ها

امکان ایجادبرنامه هایی حجیم و پیچیده تر.

امکان استفاده از توابع از قبل نوشته شده(مثل توابع کتابخانه ای)

و....

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

در بخش های بعدی به بعضی از ضعفهای عمده آن اشاره خواهیم کرد.

(واقعا این جونور دو پا به همنوعش که هیچ به برنامه های بی زبون هم وفا نمیکنه!

واقعا که این جانور ۲پا بد ادا و تنوع طلبه!!...

e e e به نظرمیاد از موضوع پرت شدم! پس تا تمام زندگیم از دهنم در نرفته قضیه جمع میکنم...)

بخش سوم--------------------------

بررسی روش شئ گرا:

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

روش شئ گرا از چند دیدگاه قابل بررسی است که در ادامه به تبیین هر یک از دیدگاه ها خواهیم پرداخت.

1.3  اهداف روش شئ گرا:

هدف اصلی این روش که باعث ایجاد تفاوتهای  ساختاری با روش ساخت یافته شداین بود که برنامه ها به واحدهای کوچکتری به نام شئ (همون چیز خودمون!)تقسیم شوند که وظیفه ایجاد برنامه  و روابط بین اشیاء بر عهده خود اشیاء باشد تا از این طریق نه تنها از حجم کد نویسی کم شود بلکه برنامه نویس بیشتر زمان وفکر خود را روی طراحی سیتم مورد نظر متمرکز کند.

برای دستیابی به این هدف لازم است که برنامه به صورت یک دنیای واقعی از اشیاء (چیز!)که ارتباطی واقعی دارند دیده شود.

زمانی که توسط این دیدگاه اشیاء مورد نیاز توسط برنامه نویس ایجاد گردد  وظیفه سیستم تنها(آخی... سیستم بد بخت... حیوونی تنهاe ...! eبه نظر میاد اشتباه شده...! این تنها که اون نبود)  کنترل روی اشیاء وروابط بین آنها خواهد بود.

به عنوان مثال یک پنجره را در نظر بگیرید .

رسم شئ پنجره بر عهده خودش میباشد و برنامه نویس هنگام طراحی سیستم هیچگونه نگرانی(یعنی سرخوش بودن برنامه نویس در این مطلب لازم است و امری جبری به حساب می آید!)  راجع به اینگونه مسائل نخواهد داشت.

همین مساله باعث راحت تر شدن اشکالزدایی برنامه خواهد شد زیرا به محض وقوع یک خطا در برنامه برنامه نویس میداند که اشکال یا از شئ(همون چیزه دیگه... باید خودتون بدونین الان دیگه...!)  است و یا ازسیستم (مثلا چنجر خرابه!)  واینکه اشکال از جای دیگری نمی تواند باشد.در نتیجه به سرعت عملیات اشکالزدایی انجام خواهد شد.

روش برنامه نویسی شئ گرا میگوید برای دستیابی به اهداف فوق لازم است به بالاترین سطح از "Abstraction" برسیم.

 حال به توضیح بیشتر راجع به مفهوم "abstraction"  میپردازیم.

Abstraction در لغت به معنای تجرد یا انتزاع است.

وبه مفهوم یک برداشت واحد از مجموعه مشاهدات میباشد.

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

حال به توضیح این مفهوم در برنامه نویسی شئ گرا میپردازیم.

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

یعنی بعد از یافتن توابع و داده های مورد نیاز برای پیاده سازی سیستم مورد نظر باید مجموعه ای از توابع و داده ها را توسط "یک" کلاس (شئ) پیاده سازی کند.(انتزاع)

ضمناً این کلاس برای اجرای توابع درونی خود باید حتی المقدور به کلاس های دیکر نیازی نداشته باشد وبه نوعی مستقل از سایر اجزای سیستم باشد واین همان مفهوم تجرد یا abstraction    در برنامه نویسی شئ گرا می باشد.

به عنوان مثال فرض کنید در حال نوشتن برنامه ای هستید که بخشی از آن مربوط به طراحی سیستم یک ماشین است.

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

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

 رفتارهايي از قبیل:

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

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

یعنی در پایین ترین سطح از abstraction  به طراحی بپردازیم.

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

 کلاس (شئ) ماشین

خصوصیات:(properties)

نام

رنک

شماره شاسی

تعداد سرنشین

و . . .

رفتارها:(metod)

حرکت کردن

ایستادن

حمل مسافر

تعویض دنده ها

و . . .

 

 

ارسال به:  ارسال به سایت مهندس - Mohandes ::  ارسال به سایت Delicious :: ارسال به سایت Stumble ::  ارسال به سایت Furl :: ارسال به سایت AddThis :: ارسال به سایت کلوب  :: فید وبلاگ مجله کامپیوتر

 
 
   |    نوشته شده توسط Mehdi
 
 
   

بررسی روش شئ گرا:

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

روش شئ گرا از چند دیدگاه قابل بررسی است که در ادامه به تبیین هر یک از دیدگاه ها خواهیم پرداخت.

1.3  اهداف روش شئ گرا:

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

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

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

به عنوان مثال یک پنجره را در نظر بگیرید .

رسم شئ پنجره بر عهده خودش میباشد و برنامه نویس هنگام طراحی سیستم هیچگونه نگرانی راجع به اینگونه مسائل نخواهد داشت.

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

روش برنامه نویسی شئ گرا میگوید برای دستیابی به اهداف فوق لازم است به بالاترین سطح از "Abstraction" برسیم.

 حال به توضیح بیشتر راجع به مفهوم "abstraction"  میپردازیم.

Abstraction در لغت به معنای تجرد یا انتزاع است.

وبه مفهوم یک برداشت واحد از مجموعه مشاهدات میباشد.

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

حال به توضیح این مفهوم در برنامه نویسی شئ گرا میپردازیم.

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

یعنی بعد از یافتن توابع و داده های مورد نیاز برای پیاده سازی سیستم مورد نظر باید مجموعه ای از توابع و داده ها را توسط "یک" کلاس (شئ) پیاده سازی کند.(انتزاع)

ضمناً این کلاس برای اجرای توابع درونی خود باید حتی المقدور به کلاس های دیکر نیازی نداشته باشد وبه نوعی مستقل از سایر اجزای سیستم باشد واین همان مفهوم تجرد یا abstraction    در برنامه نویسی شئ گرا می باشد.

به عنوان مثال فرض کنید در حال نوشتن برنامه ای هستید که بخشی از آن مربوط به طراحی سیستم یک ماشین است.

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

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

 رفتارهايي از قبیل:

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

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

یعنی در پایین ترین سطح از abstraction  به طراحی بپردازیم.

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

با تشکر فراوان از دوستان عزیز

: سيدمحمود شجاعي كياسري و بهاره مرادی


ارسال به:  ارسال به سایت مهندس - Mohandes ::  ارسال به سایت Delicious :: ارسال به سایت Stumble ::  ارسال به سایت Furl :: ارسال به سایت AddThis :: ارسال به سایت کلوب  :: فید وبلاگ مجله کامپیوتر

 
 
   |    نوشته شده توسط Mehdi
 
 
   

توضیحی اجمالی راجع به تاریخچه برنامه نویسی:

قبل از سال 1950 یعنی زمان پیدایش وایجاد اولین زبان سطح با لا  تقریباً برنامه نویسی به معنای امروزی وجود نداشت. زیرا در آن زمان برنامه هایی باحجم های پایین وکوچک توسط زبان اسمبلر نوشته میشد.

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

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

اشکالاتی از قبیل اینکه:

این روند از چند جهت  فقط برای برنامه های کوچک مفید بود.مثلاً نوشتن برنامه های بزرگ بسیار مشکل بود واز آن مهمتر سختی مرحله اشکالزدایی برنامه بود ویا برنامه نویس ناچار بود برای اجرای  یک عملیات 5 خطی که به طور نامنظم(غیر قابل پیاده سازی توسط حلقه ها) در 100 محل از برنامه قرار داشت .100 بار قطعه کد مربوطه را پیاده سازی کند. که هم باعث خستگی برنامه نویس میشد و هم باعث بلندی برنامه میگشت.ومشکلات دیگری از این قبیل.

برای رسیدن به یک استاندارد برای غلبه بر مشکلات ذکر شده  در سال 1960 اولین زبان ساخت یافته ایجاد شد.

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

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

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

 با تشکر از دوست خوب و عزیز...

: سيدمحمود شجاعي كياسري


ارسال به:  ارسال به سایت مهندس - Mohandes ::  ارسال به سایت Delicious :: ارسال به سایت Stumble ::  ارسال به سایت Furl :: ارسال به سایت AddThis :: ارسال به سایت کلوب  :: فید وبلاگ مجله کامپیوتر

 
 
   |    نوشته شده توسط Mehdi
 
 
     
 

pctfx3.1

Digital Classic Float Template

Interactive CD Catalogue گروه طراحي چندرسانه اي وبلاگ رسانه گشت و گذار در دنياي رسانه هاي ديجيتال Medium Blog - Digital Media World قالبهاي رايگان سايت و وبلاگ Advanced Persian Blog Templates طراحي و پياده سازي قالب سايت مركز طراحي و توسعه سي دي هاي مولتي مديا

اطلاعات مربوط به كارگاه طراحي قالب: كارگاه طراحي قالب Template Design Workshop, دانلود قالب هاي وبلاگ Template Design Workshop, جزئيات قالب هاي رايگان Template Design Workshop, جستجوي قالب هاي وبلاگ Template Design Workshop, تماس با كارگاه طراحي قالب Template Design Workshop, درباره كارگاه طراحي قالب

pictofxt Farsi Blog ميزباني وب

ثبت سايت دامنه فارسي لينوکس سرور



Clicky Web Analytics

Clicky