تفاوت نرم افزار نویسی شی گرا و ساخت یافته
برای یادگرفتن برنامه نویسی باید با دو متد شی گرایی و ساختار یافته آشنا باشید. در یک نگاه کلی، در نرم افزار نویسی شی گرا، تمرکز بر روی اشیاء (شی) و روابط در بین آنان جایدارد که مشتمل بر شرایط و کردار مشخصی از سیستم می باشد و هدفی جز بهبود قابلیت و امکان محافظت، امکان گسترش و خوانایی کد ندارد. از طرف دیگر، در نرم افزار نویسی ساخت یافته، تمرکز بر روی معماری سیستم بوده و مقصود کلی آن بهبود خصوصیات سیستم از جمله پایداری، امنیت و قابلیت و امکان بسط هست. همچنین برنامه نویسی ساخت یافته معماری سیستم را به یکسری بخش کوچک تقسیم میکند و هر قسمت به طور غیروابسته از دیگر بخشها، مدیر میشوند.
خوانایی کد، قابلیت توسعه و پیشرفت، کاهش تکرار کدنویسی و ارتقا قابلیت محافظت در نرم افزار نویسی شی گرا در مقابل نرمافزار نویسی ساخت با پایداری، قابلیت و امکان گسترش، امنیت و قابلیت به کار گیری مجدد قرار دارند.
مثال کاربردی برای نرم افزار نویسی شی گرا میتواند پیادهسازی یک نرمافزار پخش موسیقی باشد. در این حالت، هر موزیک به عنوان یک شی در نظر گرفته میشود که قابلیت حفظ و بسط برنامه را بهبود می بخشد.
یک مثال مفهومی برای اپلیکیشن نویسی ساخت یافته نیز میتوان به ایجاد یک سیستم بانکی اشاره کرد. درینوضعیت، سیستم به تعدادی بخش کوچک تقسیم می گردد که هر قسمت به طور مستقل از دیگر نصیبها رئیس میشود. این الگوی نرم افزار نویسی برای بهبود پایداری، امنیت و امکان گسترش سیستم همت داراهستند. به دنبال، به صورت خلاصه به تفاوتهای برنامه نویسی شی گرا و تشکیل داد یافته اشاره می کنیم:
شیها در اپلیکیشن نویسی شی گرا مجموعهای از کلاسها و اشیای مرتبط با هم هستند، البته در نرمافزار نویسی ایجاد کرد یافته فانکشنها به صورت منقطع فراخوانی می گردند.
یک کدام از مهمترین تفاوتها این است که شی گرایی بر اساس دادهها (دیتا) بوده، ولی نرم افزار نویسی ساخت یافته بر Process تاکید دارد.
در اپلیکیشن نویسی شی گرا کوچکترین واحدها Object نام داراهستند، البته در نرم افزار نویسی ایجاد کرد یافته Function های جدا کوچکترین واحد میباشند.
از لحاظ امنیت، اپ نویسی شی گرا پیشتاز هست. امکان Data Hiding این برتری را توجیح میکند.
برای نوشتن اپهای بغرنج و سنگین ، باید به سراغ اپ نویسی شی گرا بروید، چراکه برنامه نویسی تشکیل داد یافته بازده خوبی در سازماندهی نرم افزارهای بسیار پیچیده ندارد.
برنامه نویسی شی گرا یا تشکیل داد یافته؟ کدام را انتخاب کنیم؟
برای پروژههای کوچک، استفاده از رویکرد تشکیل داد یافته به عنوان یک شیوه بی آلایش و قابل اجرا، توصیه می گردد. با متدهای ساخت یافته، میتوانید به راحتی کدهای خود را سازماندهی و برای محافظت و بسط آنان بهترین طریق را انتخاب نمائید. همچنین، برای پروژههای کوچک، به کار گیری از پارادایم اپلیکیشن نویسی شی گرا نیز آیتم بدی نیست. این راه به شما اجازه میدهد تا کدهایی با کیفیت خوب و قابلیت توسعه و گسترش بیشتر بسازید و برای جانبداری از تغییرات در آینده، سادهتر وارد فعالیت شوید.
برای پروژههای والا و پیچیده، استراتژی پاره ای تغییر میکند؛ به گونه ای که ترکیب نرم افزار نویسی شی گرا و ساخت یافته را سفارش میکنیم. با اینراه ادغامی، به راحتی کدهای پیچیده خود را سر و سامان خواهید داد و از قابلیت باز به کارگیری کد بهرهمند میشوید. در ادامه، از پارادایم نرم افزار نویسی شی گرا برای تعامل میان اجزای سیستم استفاده فرمائید و امکان تغییر در آتی سیستم را داشته باشید.
باید اعتراف کنیم که استعمال از مفاهیم شی گرایی در ساخت یافتهها، به طور موثری قادر است باعث بهبود خصوصیات ساختاری و مراقبت کد گردد. مثلا، به کار گیری از ارث بری و پلیمورفیسم در تشکیل داد یافتهها، قابلیت باز استعمال کد را بالا میبرد و سبب ساز افزایش کیفیت ساختاری سیستم خواهد شد. در پروژههای تعالی و بغرنج، استفاده جدا از هم از راه کافی نبوده و با یقین نیاز به ادغام آنان با هم وجود دارد. از این رو، اکثر پروژههای بزرگ و تجاری پیروز از ترکیب اپ نویسی شی گرا و ایجاد کرد یافته به موفقیت رسیدهاند.
یکی مثالهای اصلی از ترکیب چیره برنامه نویسی شی گرا و ساخت یافته در پروژههای والا، به کارگیری از الگوی طراحی MVC است. در این سرمشق، مدل (Model) به عنوان قسمت اصلی سیستم از منش شی گرایی استفاده میکند؛ در عین اکنون، کنترلر (Controller) و نمایشگر (View) نیز به صورت تشکیل داد یافته و با به کارگیری از مفاهیم شی گرایی پیادهسازی شدهاند. این ترکیب حسابشده، منجر افزایش قابلیت و امکان باز استعمال کد و بهبود خصوصیات ساختاری و نگهداری کد گردیدهاست.