مقدمه شی گرایی در PHP (قسمت دوم)

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

مثال:

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


ماژولار بودن و منعطف بودن قالب یا نقشه

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


امکان توسعه یک برنامه بصورت انفرادی و گروهی

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


عیوب برنامه نویسی شی گرا

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

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

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


مشاهده ادامه در لینک زیر:

https://dejavan.ir


سخن پایانی

این بود یکی دیگر از آموزش های MVC در php در صورت داشتن سوال یا نظر اون رو با من در میان بزارید.

من امیر جوان میر هستم گرافیست و توسعه دهنده وب از سال 1390

instagram: https://www.instagram.com/amir.javanmir/

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

website: https://dejavan.ir
instagram: https://instagram.com/designer.javan
twitter: https://twitter.com/designer_javan
Telegram: https://t.me/designer_javan


سایر مطالب

https://virgool.io/PHPMVC