رفتن به مطلب

بحث و گفتگو در مورد اصول مهندسي نرم افزار و شي گرايي


ارسال های توصیه شده

سلام

توي اين تاپيك قراره در مورد اصول مطرح در حوزه مهندسي نرم افزار و شي گرايي صحبت كنيم

درك عميق اين مفاهيم به ما كمك ميكنه تا نرم افزارهاي بهتر (حالا بايد اين بهتر رو در جاي خود معني كنيم ) و كارامدتري را طراحي و پياده سازي كنيم

 

اميدوارم منو توي اين بحث ياري كنيد

هرقدر بحث چالشي تر باشه بهتر به درك سريعتر مطالب كمك ميكنه :w16:

لینک به دیدگاه

خب

از مفهوم و كاربرد Abstraction شروع ميكنم

 

اولين بار كه خودم با اين واژه مواجه شدم موقعي بود كه يواشكي و دور از چشم پدر مادرم براي كنكور هنر ميخوندم :icon_redface:

توي يكي از كتابهاي چن جلدي تاريخ هنرايران و جهان

خيلي برام ملموس و واضح نبود تا اينكه با يه مطلب مواجه شدم كه توش نقاشي يك كودك خردسال رو به عنوان توضيح Abstraction اورده بود

عكس از بدن يك انسان كه فقط حاوي سر ، دست و پا و چن تا تارمو بود مثل نقاشي اكثر بچه هاي سه چهارساله

 

اما در دنياي نرم افزار Abstrction به اين معني هس كه به هنگام پياده سازي يك مفهوم فقط به رفتارهاي ظاهري اون نگاه كني و هرگز به چگونگي پياده سازي فكر نكني

 

توي زبانهايي كه ادعاي شي گرايي بودن مي كنن مثل جاوا و سي شارپ ، دو ابزار براي اينكار توسط اين زبانها ارايه شده :

interface

absctraction class

 

يعني در اين دو زبان شما به عنوان برنامه نويس اين امكان رو داري كه يك كلاس يا واسط ايجاد كني متدهاي موردنظرتو درش تعريف كني ولي تا اطلاع ثانوي به پياده سازيش فكر نكني

 

البته اينم بگم ما براي حذف جزييات و ساده سازي فرايند فكر كردن جهت طراحي نرم افزار از معماري هاي چن لايه اي هم استفاده ميكنيم كه ترجيح ميدم اينجا فعلا وارد بحثش نشم تا اروم اروم جلو بريم

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...