این مطلب بخشی از آموزش اصول برنامه نویسی شی گرا هست.
زمانی که واژه شی گرایی (object-oriented) را می بینید، معمولاً کلمه دیگری در کنار آن قرار دارد،برنامه نویسی شی گرا، طراحی شی گرا یا آنالیز شی گرا. اینها همه به هم متصل هستند و به این مطلب اشاره دارند که برای تهیه هر نرم افزار، باید سه کار را انجام دهید، مشکل را بفهمید، برای راه حلش برنامه ریزی کنید و در آخر، آن را بسازید، یا به عبارت دیگر آنالیز ، طراحی و برنامه نویسی. اگرچه آنها به عنوان دو مرحله جداگانه ذکر شده اند، معمولاً آنالیز و طراحی با هم بیان می شوند زیرا شامل همه چیزهایی هستند که باید قبل از نوشتن اولین خط کد انجام شود.
آنالیز به این سؤال پاسخ می دهد که شما باید چه کاری انجام دهید؟ مشکلی که می خواهید حل کنید چیست؟ و طراحی مشخص میکند که چگونه باید این کار را انجام دهید. در این آموزش ما به یک فرایند آنالیز و طراحی شی گرا خواهیم پرداخت تا بتوانیم محصول قابل تحویل تولید کنیم. یک طرح مفهومی که شما (یا شاید یک تیم مجزا از برنامه نویسان)، می توانید از آن برای ساختن یک راه حل استفاده کنید.
کلمه مفهومی در اینجا کلمه کلیدی است، ما هیچ کدی نمی نویسیم، ولی از نمودارها (Diagrams)، تخته وایت برد و توضیحات مکتوب استفاده خواهیم کرد، تکرار میکنم هیچ کدی نوشته نمیشه.
روش های رسمی زیادی با نام و قراردادهای خاص خود وجود دارند، اما ایده ها آنها کاملاً مشابه هستند. برای این آموزش، ما یک رویکرد معمولی پنج مرحله ای را دنبال خواهیم کرد. با جمع آوری الزامات شروع می کنیم تا بفهمیم برنامه ما باید چه کاری انجام دهد. مسئله ای را که می خواهیم حل کنیم، مشخص می کنیم. پس از آن برنامه کاربردی را به زبان ساده توصیف می کنیم. مرحله سوم شامل شناسایی مهمترین اشیاست، که نقطه شروع شناسایی کلاسهای واقعی است. پس از شناسایی هر شی، مسئولیت هر شی، رفتارهای لازم هر شی و تعاملات آنها با یکدیگر را شرح می دهیم. و در آخر نمودار کلاسها (Class Diagram) که به عنوان خروجی اصلی فرایند پنج مرحله ای است را می سازیم.
نمودار کلاس یک نمایش بصری از کلاس های موجود در برنامه است و آنجاست که اصول شی گرایی مانند وراثت (Inheritance) و چند ریختی (Polymorphism) وارد بازی می شوند. ما با جزئیات بیشتری به هر یک از این مراحل خواهیم پرداخت و تکنیک های مختلفی را که می توانید برای هر یک از آنها استفاده کنید را آموزش خواهیم داد.
قسمت قبلی : آموزش اصول برنامه نویسی شی گرا : چند ریختی (Polymorphism)
قسمت بعدی : آموزش اصول برنامه نویسی شی گرا : UML