نمودار دارد

ساخت وبلاگ

Kodeco Raywenderlich.com جدید است. در مورد تغییرات ما در اینجا بخوانید.

Kodeco Raywenderlich.com جدید است

ما از معرفی نام جدید خود و ظاهر جدید خود با تمام مطالب مشابهی که می شناسید و دوست دارید ، هیجان زده هستیم!

فصل

الگوهای طراحی بر اساس آموزش

قبل از اینکه شروع کنی

  • قفل شده منآنچه شما نیاز دارید
  • قفل شده IIکد منبع کتاب و انجمن ها
  • III قفل شدهدر مورد پوشش
  • IV قفل شدهمعرفی
    • در مورد این کتاب
    • ساختار فصل
    • نحوه خواندن این کتاب

    بخش اول: سلام ، الگوهای طراحی!

    • قفل 1. الگوهای طراحی چیست؟
      • 1. 1 یک مثال در دنیای واقعی
      • 1. 2 توضیحات مثال
      • 1. 3 انواع الگوهای طراحی
      • 1. 4 انتقاد از الگوهای طراحی
      • 1. 5 مزایای الگوهای طراحی
      • 1. 6 امتیاز کلیدی
      • 2. 1 در یک نمودار کلاس چیست؟
      • 2. 2 چالش
      • 2. 3 امتیاز کلیدی

      بخش دوم: الگوهای طراحی اساسی

      • قفل 3. الگوی مدل-کنترلر
        • 3. 1 چه زمانی باید از آن استفاده کنید؟
        • 3. 2 مثال زمین بازی
        • 3. 3 به چه چیزی باید مراقب باشید؟
        • 3. 4 پروژه آموزش
        • 3. 5 امتیاز کلیدی
        • 4. 1 چه زمانی باید از آن استفاده کنید؟
        • 4. 2 مثال زمین بازی
        • 4. 3 به چه چیزی باید مراقب باشید؟
        • 4. 4 پروژه آموزش
        • 4. 5 امتیاز کلیدی
        • 5. 1 چه زمانی باید از آن استفاده کنید؟
        • 5. 2 مثال زمین بازی
        • 5. 3 به چه چیزی باید مراقب باشید؟
        • 5. 4 پروژه آموزش
        • 5. 5 امتیاز کلیدی
        • 6. 1 چه زمانی باید از آن استفاده کنید؟
        • 6. 2 مثال زمین بازی
        • 6. 3 به چه چیزی باید مراقب باشید؟
        • 6. 4 پروژه آموزش
        • 6. 5 امتیاز کلیدی
        • 7. 1 چه زمانی باید از آن استفاده کنید؟
        • 7. 2 مثال زمین بازی
        • 7. 3 به چه چیزی باید مراقب باشید؟
        • 7. 4 پروژه آموزش
        • 7. 5 امتیاز کلیدی
        • 8. 1 چه زمانی باید از آن استفاده کنید؟
        • 8. 2 مثال زمین بازی
        • 8. 3 به چه چیزی باید مراقب باشید؟
        • 8. 4 پروژه آموزش
        • 8. 5 امتیاز کلیدی
        • 9. 1 چه زمانی باید از آن استفاده کنید؟
        • 9. 2 مثال زمین بازی
        • 9. 3 به چه چیزی باید مراقب باشید؟
        • 9. 4 پروژه آموزش
        • 9. 5 امتیاز کلیدی
        • 9. 6 از اینجا کجا برویم؟

        بخش سوم: الگوهای طراحی میانی

        • قفل شده 10. الگوی مدل-نمایش-ویروس
          • 10. 1 چه زمانی باید از آن استفاده کنید؟
          • 10. 2 مثال زمین بازی
          • 10. 3 به چه چیزی باید مراقب باشید؟
          • 10. 4 پروژه آموزش
          • 10. 5 امتیاز کلیدی
          • 11. 1 چه زمانی باید از آن استفاده کنید؟
          • 11. 2 مثال زمین بازی
          • 11. 3 به چه چیزی باید مراقب باشید؟
          • 11. 4 پروژه آموزش
          • 11. 5 امتیاز کلیدی
          • 12. 1 چه زمانی باید از آن استفاده کنید؟
          • 12. 2 مثال زمین بازی
          • 12. 3 به چه چیزی باید مراقب باشید؟
          • 12. 4 پروژه آموزش
          • 12. 5 امتیاز کلیدی
          • 13. 1 چه زمانی باید از آن استفاده کنید؟
          • 13. 2 مثال زمین بازی
          • 13. 3 به چه چیزی باید مراقب باشید؟
          • 13. 4 پروژه آموزش
          • 13. 5 امتیاز کلیدی
          • 13. 6 از اینجا کجا برویم؟
          • 14. 1 چه زمانی باید از آن استفاده کنید؟
          • 14. 2 مثال زمین بازی
          • 14. 3 به چه چیزی باید مراقب باشید؟
          • 14. 4 پروژه آموزش
          • 14. 5 امتیاز کلیدی
          • 15. 1 چه زمانی باید از آن استفاده کنید؟
          • 15. 2 مثال زمین بازی
          • 15. 3 به چه چیزی باید مراقب باشید؟
          • 15. 4 پروژه آموزش
          • 15. 5 امتیاز کلیدی
          • 16. 1 چه زمانی باید از آن استفاده کنید؟
          • 16. 2 مثال زمین بازی
          • 16. 3 به چه چیزی باید مراقب باشید؟
          • 16. 4 پروژه آموزش
          • 16. 5 امتیاز کلیدی
          • 17. 1 چه زمانی باید از آن استفاده کنید؟
          • 17. 2 مثال زمین بازی
          • 17. 3 به چه چیزی باید مراقب باشید؟
          • 17. 4 پروژه آموزش
          • 17. 5 امتیاز کلیدی
          • 17. 6 از اینجا کجا برویم؟

          بخش چهارم: الگوهای طراحی پیشرفته

          • قفل 18. الگوی وزن پرواز
            • 18. 1 چه زمانی باید از آن استفاده کنید؟
            • 18. 2 مثال زمین بازی
            • 18. 3 به چه چیزی باید مراقب باشید؟
            • 18. 4 پروژه آموزش
            • 18. 5 امتیاز کلیدی
            • 19. 1 چه زمانی باید از آن استفاده کنید؟
            • 19. 2 مثال زمین بازی
            • 19. 3 به چه چیزی باید مراقب باشید؟
            • 19. 4 پروژه آموزش
            • 19. 5 امتیاز کلیدی
            • 19. 6 از اینجا کجا برویم؟
            • 20. 1 چه زمانی باید از آن استفاده کنید؟
            • 20. 2 مثال زمین بازی
            • 20. 3 به چه چیزی باید مراقب باشید؟
            • 20. 4 پروژه آموزش
            • 20. 5 امتیاز کلیدی
            • 21. 1 چه زمانی باید از آن استفاده کنید؟
            • 21. 2 مثال زمین بازی
            • 21. 3 به چه چیزی باید مراقب باشید؟
            • 21. 4 پروژه آموزش
            • 21. 5 امتیاز کلیدی
            • 21. 6 از اینجا کجا برویم؟
            • 22. 1 چه زمانی باید از آن استفاده کنید؟
            • 22. 2 مثال زمین بازی
            • 22. 3 به چه چیزی باید مراقب باشید؟
            • 22. 4 پروژه آموزش
            • 22. 5 امتیاز کلیدی
            • 22. 6 از اینجا کجا برویم؟
            • 23. 1 چه زمانی باید از آن استفاده کنید؟
            • 23. 2 مثال زمین بازی
            • 23. 3 به چه چیزی باید مراقب باشید؟
            • 23. 4 پروژه آموزش
            • 23. 5 امتیاز کلیدی
            • 23. 6 از اینجا کجا برویم؟

            بنابراین اکنون می دانید که الگوهای طراحی چیست! در این فصل ، شما می خواهید در مورد یک مفهوم اساسی یاد بگیرید تا به شما در درک الگوهای طراحی کمک کند: نمودار کلاس.

            نمودارهای کلاس مانند طرح های مهندسی هستند. آنها اطلاعاتی در مورد یک سیستم از طریق رسانه تصاویر ، نمادها و حاشیه نویسی ها ارائه می دهند.

            شما ممکن است از زبان مدل سازی یکپارچه (UML) شنیده باشید ، که یک زبان استاندارد برای ایجاد نمودارهای کلاس ، نقشه های معماری و سایر تصاویر سیستم است. بحث کامل در مورد UML فراتر از محدوده این کتاب است ، اما نیازی نیست که بسیاری از UML را در توسعه روزانه iOS خود درک کنید. در عوض ، شما زیر مجموعه ای از UML را در این فصل یاد خواهید گرفت که برای ایجاد نمودارهای کلاس و توصیف الگوهای طراحی مفید است.

            در یک نمودار کلاس چیست؟

            نمودارهای کلاس شامل کلاس ها ، پروتکل ها ، خواص ، روش ها و روابط است.

            یک جعبه یک کلاس را نشان می دهد. در اینجا یک نمودار کلاس بسیار ساده برای کلاس سگ وجود دارد:

            برای نشان دادن اینکه یک کلاس از دیگری به ارث می برد ، از یک فلش باز استفاده کنید:

            اما به جای خواندن این مطلب به عنوان "وراثت" ، این را به عنوان "A" بخوانید. به عنوان مثال ، برای نشان دادن اینکه گوسفند از سگ به ارث می برد ، نمودار زیر را ترسیم می کنید:

            شما این را از پایین به بالا می خوانید ، زیرا "Sheepdog یک سگ است."

            از یک فلش ساده برای نشان دادن یک ملک استفاده کنید ، که از نظر UML "انجمن" خوانده می شود:

            نمودارهای کلاس را می توان از پایین به بالا ، از چپ به راست یا در هر جهت دیگری که دوست دارید نوشته شود. صرف نظر از جهت گیری ، جهت فلش معنی را تعریف می کند: فلش های وراثت همیشه به سوپر کلاس اشاره می کنند ، و فلش های خاصیت همیشه به کلاس خاصیت اشاره می کنند.

            شما باید یک فلش ملک را به عنوان "دارای یک" بخوانید. به عنوان مثال ، اگر یک کشاورز سگ داشته باشد ، شما این را ترسیم می کنید:

            می توانید با مشخص کردن دامنه در کنار فلش ، روابط یک به یک را نشان دهید. به عنوان مثال ، شما می توانید یک کشاورز یک یا چند سگ مانند این داشته باشید:

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

            شما می توانید به همان اندازه از فلش و جعبه استفاده کنید که در یک نمودار کلاس واحد نیاز دارید. به عنوان مثال ، در اینجا نحوه بیان یک کشاورز یک گوسفند است که یک سگ است:

            You also use a box to indicate a protocol. In order to distinguish it from a class, however, you need to write>قبل از نام آن

            در اینجا نحوه بیان پروتکل به نام Petowning آورده شده است:

            برای نشان دادن کلاس یک پروتکل از یک فلش باز با یک خط متراکم استفاده کنید:

            شما ممکن است این را به عنوان "پیاده سازی" یا "مطابقت با" بخوانید. به عنوان مثال ، شما نشان می دهید که کشاورزان مطابق با حیوانات اهلی مانند این هستند:

            برای نشان دادن "کاربردهای" ، که از نظر UML "وابستگی" خوانده می شود ، از یک فلش ساده با یک خط متراکم استفاده کنید:

            UML عمداً در مورد اینکه وابستگی چیست ، مبهم است. در نتیجه ، هر زمان که از فلش وابستگی استفاده می کنید ، معمولاً باید هدف آن را حاشیه نویسی کنید. به عنوان مثال ، می توانید از یک فلش وابستگی برای نشان دادن موارد زیر استفاده کنید:

            • یک ملک یا نماینده ضعیف.
            • شیء که به عنوان یک پارامتر به یک روش منتقل می شود ، اما به عنوان یک ویژگی در آن نگهداری نمی شود.
            • یک جفت یا پاسخ به تماس ، مانند iBaction از منظره به یک کنترلر.

            در اینجا چگونه می توانید نمایندگان سگ را به یک شیء حیوان خانگی نشان دهید:

            همچنین می توانید خصوصیات و روشها را در یک نمودار کلاس مشخص کنید. به عنوان مثال ، شما نشان می دهید که Petowning دارای یک ویژگی نام و یک Petneedsfood است (_ :) روش مانند این:

            اگر معنای پیکان آشکار است ، می توانید هر متن توضیحی را حذف کنید. به طور کلی می توانید توضیحات مربوط به وراثت ، خواص و پیکان را حذف کنید. با این حال ، شما معمولاً باید متن را برای فلش های "استفاده" نگه دارید ، زیرا معنای آنها همیشه آشکار نیست.

            در اینجا نمودار کلاس کامل برای یک کشاورز که دارای یک گوسفند است ، این سگی است که به یک شیء حیوان خانگی نمایندگی می کند:

            چالش ها

            اکنون که اصول اولیه را پایین آورده اید ، وقت آن است که دانش خود را آزمایش کنید!

            روی یک کاغذ ، نمودارهای کلاس را برای هر یک از چالش های زیر بکشید. هنگامی که آماده هستید ، صفحه بعدی را برای پاسخ ها بررسی کنید:

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

            پروتکل وسیله نقلیه دارای یک موتور و یک یا چند شیء چرخ است.

            استاد معلم است و با پروتکل شخص مطابقت دارد.

            راه حل های صحیح زیادی برای هر یک از این چالش ها وجود دارد. به عنوان مثال ، لازم نیست نمودار را از بالا به پایین بکشید. در عوض ، می توانید آن را از چپ به راست یا جهت گیری دیگری ترسیم کنید. تا زمانی که نمودار کلاس شما به وضوح معنای مورد نظر را منتقل می کند ، درست است!

            راه حل ها در صفحه بعد.

            راه حل 1. شما به سه جعبه نیاز دارید: یکی برای گربه ، سگ و حیوان. شما به یک فلش باز از گربه به حیوان و یک فلش باز دیگر از سگ به حیوان نیاز دارید. شما همچنین باید غذا () را روی حیوانات نشان دهید.

            Solution 2. You should have three boxes: one for>وسیله نقلیه ، موتور و چرخ. شما باید یک فلش ساده از وسیله نقلیه به موتور و یک فلش ساده دیگر از وسیله نقلیه به چرخ دیگر داشته باشید. شما همچنین باید 1 داشته باشید.* در کنار فلش که به چرخ اشاره می کند.

            راه حل 3. عبارت برای این مشکل عمداً مبهم بود. ما می توانست منظور ما این باشد که یا معلم با شخص مطابقت دارد ، یا استاد با شخص مطابقت دارد. بدین ترتیب ، استاد با شخص مستقیم یا غیرمستقیم از طریق معلم مطابقت می دهد.

            اگر معلم با شخص و استاد از معلم به ارث می برد ، نمودار کلاس به این شکل است:

            اگر استاد با شخص مطابقت داشته باشد ، اما معلم چنین نمی کند ، نمودار کلاس به این شکل است:

            امتیاز کلیدی

            شما اصول اولیه نمودارهای کلاس را در این فصل آموخته اید. این تنها چیزی است که شما نیاز به درک نمودارها در بقیه این کتاب دارید. در صورت نیاز به این کار ، همیشه می توانید به این فصل مراجعه کنید!

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

            نمودارهای کلاس همچنین رابطه بین انواع شی را نشان می دهد.

            نمودارهای کلاس را می توان در هر جهت دیگر ترسیم کرد. جهت فلش معنی را تعریف می کند.

            جعبه ها کلاس ها را نشان می دهند ، و خطوط نشانگر روابط هستند: "پیاده سازی" ، "دارای یک" ، "استفاده می کند" و "مطابقت با" رایج ترین روابط است.

            Boxes can also denote protocols, which is indicated by>قبل از نام

            سوال فنی دارید؟آیا می خواهید یک اشکال گزارش دهید؟شما می توانید در انجمن رسمی کتاب ما در اینجا سؤال کنید و اشکالات را به نویسندگان کتاب گزارش دهید.

تجارت با گزینه‌‌های باینری...
ما را در سایت تجارت با گزینه‌‌های باینری دنبال می کنید

برچسب : نویسنده : حمیدرضا پگاه بازدید : 53 تاريخ : پنجشنبه 21 ارديبهشت 1402 ساعت: 13:38