موضوع مقاله: طراحی شیءگرا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # طراحی شیءگرا | مقدمه: طراحی شیءگرا روند برنامه‌ریزی یک سیستم اشیاء در تعامل با هدف حل یک مشکل نرم‌افزاری است. | ## بخش 1: طراحی شیءگرا | بررسی اجمالی یک شیء شامل داده‌ها و روش‌های محصور شده‌است که با هم برای نشان دادن یک موجودیت دسته‌بندی شده‌اند. طراحی شیءگرا رشته‌ای تعریف اشیاء و تعاملات آن‌ها برای حل یک مشکل است که در تجزیه و تحلیل شیءگرا شناسایی و مستند شده‌است. در زیر شرح زیر مجموعهٔ مبتنی بر کلاس طراحی شی گرا است که شامل برنامه‌نویسی بر پایه پیش‌نمونه نیست، جایی که اشیاء معمولاً با اکتیو کردن کلاس‌ها به دست نمی‌آیند بلکه توسط کلون کردن اشیاء دیگر (نمونه اولیه) به دست می‌آیند. طراحی شیءگرا یک شیوه طراحی است که شامل فرایند تجزیه شیء گرا و علامت گذاری برای نشان دادن مدل‌های منطقی و فیزیکی و همچنین حالت و پویا سیستم تحت طراحی می‌باشد. می‌فهمید که یک مصنوع خروجی لازم نیست به‌طور کامل توسعه داده شود تا به عنوان ورودی طراحی شیءگرا خدمت کند؛ تجزیه و تحلیل و طراحی ممکن است به صورت موازی رخ دهد و در عمل نتیجه یک فعالیت می‌تواند در یک چرخه بازخورد کوتاه از طریق یک روند تکراری تغذیه کند. هر دو تجزیه و تحلیل و طراحی را می‌توان به صورت یکپارچه انجام داد و مصنوعات می‌توانند به‌طور مداوم به جای تکامل کامل در یک شات رشد داده شوند. برخی از مصنوعات ورودی معمولی برای طراحیءشی گرا: مدل مفهومی: نتیجه تجزیه و تحلیل شیءگرا، آن مفاهیم در حوزه مشکل را ضبط می‌کند. مدل مفهومی به صراحت انتخاب شده‌است که مستقل از جزئیات پیاده‌سازی، مانند همپوشانی یا ذخیره‌سازی اطلاعات است. هر مورد استفاده، یک یا چند سناریو را فراهم می‌کند که نشان می‌دهد چگونه سیستم باید با کاربران به نام بازیگران ارتباط برقرار کند تا به یک هدف یا عملکرد کاری خاص دست یابند. استفاده از نمودارهای مورد استفاده برای شناسایی بازیگر (کاربران یا سیستم‌های دیگر) و فرایندهایی که آن‌ها انجام می‌دهند استفاده می‌شود. نمودار پیوسته سیستم: یک نمودار توالی سیستم (SSD) تصویری است که برای یک سناریوی خاص از مورد استفاده، رویدادهایی که بازیگران خارجی تولید می‌کنند، سفارش آنها، و رویدادهای بین سیستم ممکن را نشان می‌دهد. واسط کاربر (در صورت وجود): سند که نشان دهنده و توصیف ظاهر و احساس رابط کاربری محصول نهایی است. | ## بخش 2: طراحی شیءگرا | این الزامی نیست که این کار را بکنید، اما به تولید محصول پایان می‌بخشد و بنابراین به طراح کمک می‌کند. مدل رابطه ای (در صورت وجود): یک مدل داده یک مدل انتزاعی است که نحوه نمایش داده‌ها و استفاده از آن‌ها را توصیف می‌کند. اگر یک پایگاه داده شیءگرا مورد استفاده قرار نگیرد، مدل رابطه ای معمولاً قبل از طراحی ایجاد می‌شود، زیرا استراتژی انتخاب شده برای نقشه‌برداری شیء-ارتباطی خروجی فرایند طراحی OO است. با این وجود، می‌توان مدل موازی ارتباطی و مصنوعات طراحی شیءگرا را به صورت موازی توسعه داد و رشد یک مصنوع ممکن است باعث بهبود پدیده‌های دیگر مصنوعات شود. مفاهیم شیءگرا پنج مفاهیم اساسی طراحی شیءگرا ویژگی‌های سطح پیاده‌سازی هستند که در زبان برنامه‌نویسی ساخته شده‌اند. این ویژگی‌ها اغلب توسط این نام‌های رایج مطرح می‌شوند: شیء/ کلاس: یک اتصال تنگ یا ارتباط ساختار داده‌ها با روش‌ها یا توابع که روی داده‌ها عمل می‌کنند. این به واسطه کلمات کلیدی برای تحقق بخشیدن به یک متغیر به عنوان خصوصی یا محافظت شده به کلاس متعلق است. به اصطلاح زیر کلاس دارای بخش کامل است که مشتق شده (به ارث برده شده) از ابر کلاس و پس از آن مجموعه ای از توابع و داده‌های خود را دارد. مفاهیم طراحی یا مفهوم توسعه تعریف اشیاء، ایجاد نمودار کلاس از نمودار مفهومی: معمولاً نگاشت موجودیت به کلاس. شناسایی ویژگی‌ها استفاده از الگوی طراحی (دانش رایانه) (در صورت لزوم): یک الگوی طراحی یک طراحی نهایی نیست، توضیح یک راه حل برای یک مشکل رایج در یک زمینه است. مزیت اصلی استفاده از الگوی طراحی این است که می‌توان آن را در برنامه‌های متعدد استفاده کرد. همچنین می‌تواند به عنوان یک الگو برای حل مشکل که می‌تواند در بسیاری از موقعیت‌های مختلف و / یا برنامه‌های کاربردی استفاده شود، مورد توجه قرار گیرد. | ## بخش 3: طراحی شیءگرا | الگوهای طراحی شیءگرا معمولاً نشان دهنده روابط و تعاملات بین کلاس‌ها یا اشیاء هستند، بدون مشخص کردن کلاس‌های کاربردی نهایی یا اشیائی که درگیر هستند. چارچوب برنامه را تعریف کنید (در صورت لزوم): چارچوب برنامه معمولاً مجموعه ای از کتابخانه‌ها یا کلاس‌هایی است که برای اجرای ساختار استاندارد یک برنامه برای سیستم عامل خاص مورد استفاده قرار می‌گیرند. با جمع‌آوری مقدار زیادی از کد قابل استفاده مجدد در یک چارچوب، زمان زیادی برای توسعه دهنده ذخیره می‌شود، زیرا او وظیفه بازنویسی مقادیر زیادی از کد استاندارد برای هر برنامه جدید است که توسعه یافته‌است. شناسایی اشیاء دائمی / داده‌ها (در صورت لزوم): شناسایی اشیائی که باید طولانی‌تر از یک زمان اجرا برنامه باشند. اگر یک پایگاه داده رابطه ای استفاده می‌شود، نقشه‌برداری ارتباط شیء را طراحی کنید. خروجی (دستاوردهای) طراحی شیءگرا نمودار پیوندی: نمودار دنباله سیستم را برای اضافه کردن اشیاءخاصی که رویدادهای سیستم را اداره می‌کنند، گسترش دهید. یک نمودار پیوسته نشان می‌دهد، به عنوان خطوط عمودی موازی، فرایندهای مختلف یا اشیاء که به‌طور همزمان زندگی می‌کنند، و به عنوان فلش‌های افقی، پیام‌های مبادله بین آنها، در ترتیب آن‌ها رخ می‌دهد. نمودار کلاس: یک نمودار کلاس یک نوع ساختار استاتیک است که نمودار UM L (زبان مدل‌سازی یکپارچه) را نشان می‌دهد که ساختار یک سیستم را با نشان دادن کلاس‌های سیستم، ویژگی‌های آن‌ها و روابط بین کلاس‌ها توصیف می‌کند. پیام‌ها و کلاس‌هایی که از طریق توسعه نمودارهای دنباله ای شناسایی شده‌اند می‌توانند به عنوان ورودی به نسل جدید دیاگرام طبقه‌بندی جهانی سیستم عمل کنند. برخی از اصول و استراتژی طراحی تزریق نیازمندی: ایده اساسی این است که اگر یک شیء به نوعی از یک شیء دیگر وابسته باشد، سپس شیء مورد نیاز تزریق می‌شود به شیء وابسته؛ برای مثال، اتصال به پایگاه داده به عنوان یک استدلال به سازنده منتقل می‌شود به جای ایجاد یک درون داخلی. | ## جمع‌بندی | اصل نیازمندی سیلیکونی: گراف وابستگی بسته‌ها یا اجزای (جزئیات دانه به محدوده کار برای یک توسعه دهنده بستگی دارد) باید چرخه ای نداشته باشد.