תכנון אדריכלות iOS: מוטיבציה

בואו ניגש לנושא יצירת ארכיטקטורה משלנו בסדרת מאמרים זו.

מהי אדריכלות?

אדריכלות היא הרמה הגבוהה ביותר של עיצוב מערכות.

תכנון מערכות הוא דרך להקל על ייצור קוד ליישום.

אפליקציה היא אמצעי הדרוש בכדי להגשים יעד (עסקי).

האם אוכל לדלג על זה?

גם כשאתה לא מכין עיצוב מערכת לפני שאתה מייצר את האפליקציה, אתה עדיין צריך לחשוב לפני שאתה כותב קוד כלשהו, ​​וזה נקרא עיצוב מערכות מקרי, מה שמוביל לארכיטקטורה מקרית (AA).

קל לזהות ארכיטקטורה מקרית:
ש: מדוע הקוד שלנו כל כך מכוער?
ת: סיבות היסטוריות ...

מה ארוויח?

המטרה של הקמת ארכיטקטורה רשמית ולא קפיצה לחומר קידוד היא לקבוע הנחיות, אילוצים ותבניות לפיהם הקוד הולך וגדל.

חשבו על הקמת ארכיטקטורה כהנחת מסילת ברזל לקוד שיעבור לאורכה כמו רכבת.

מדוע אתאפק?

הנחיות, אילוצים ודפוסים עוזרים ל:

  • קוד לפי העיקרון של פחות תדהמה;
  • להבין כיצד מערכת קיימת עובדת;
  • הימנע מהמצאת הגלגל מחדש;
  • הפיצו רעיונות עובדים בקהילה.

האם אוכל להשתמש באחד מהאינטרנט?

עליכם ללמוד מאלו, אך שכולם סובלים מבעיות רבות:

  • לא מספקים אסטרטגיות צמיחה;
  • התאמה טובה רק לגודל אחד של אפליקציות וצוות;
  • רמה אקראית של הפשטת רכיבים ותקשורת;
  • חלוקת תפקידים מעורפלת (אני מסתכל עליך "עובד");
  • לא סלחני וקנאי;)

האם יש לי מספיק מיומנויות כדי לתכנן את זה?

לאף אחד אין מספיק, אבל ככל שיש לכם יותר, כך קל לראות את האור בקצה מנהרה.
הנה מה שיעזור לך:

  • לקרוא ספרים ישנים ומסמכים לבנים על תכנון ודפוסים של המערכת;
  • הימנע ממאמרים חדשים שמנסים למכור לך כדור כסף;
  • ללמוד מה עובד עבור אחרים בהפקה;
  • להשתמש בפלטפורמות אחרות כמקור השראה;
  • נסה רעיונות בבית, אם הם עובדים, הביא אותם לעבודה;
  • דחה את ההחלטה אם יש לך ספק (בצע דבר מטומטם בינתיים);
  • לדון ברעיונות וביישומים עם אחרים.

איפה להתחיל?

עלינו להתחיל תמיד בניתוח דרישות (כמו בכל מאמץ בוגר) המגיעות מהמטרה.

דרישות פונקציונליות.

במקרה הגרוע ביותר אתה יכול לקבל מפרט פונקציונאלי ברמה גבוהה, כמו זה:

  • יישום רשימת קניות;
  • יכולת לשתף פעולה ברשימות;
  • אפשרות לשימוש ללא חיבור לאינטרנט.

בשלב זה, העסק עשוי לחשוב שדרישות מספיקות, ובאחריותך למצוא תשובות לסיבוב השאלות שעולות, למשל:

  • איך ייראה ממשק המשתמש?
  • באילו מכשירים על האפליקציה לתמוך?
  • האם עלי לעשות גם צד שרת?

כשאינכם יכולים לחשוב על שאלות אחרות שיש לשאול, הגיע הזמן לעבור לשלב הבא.

דרישות ארגוניות.

אם זה לא פרויקט גרינפילד יתכן שיש הרבה הגבלות על בחירת האדריכלות שלך, לפחות נסה לענות על השאלות הבאות:

  • מיהו הקבוצה שלי?
  • מה הם מצפים מהארכיטקטורה שלנו?
  • האם יש לנו כלים ושפות מבוססים?
  • האם נוכל לעשות שימוש חוזר בארכיטקטורה קיימת?

האם אוכל סוף סוף להתחיל ליצור אדריכלות?

כן אתה יכול! על ידי הצבת דרישות תפקודיות וארגוניות, תוכלו להתחיל להתוות את הרעיונות שלכם ואז בסופו של דבר להרכיב ארכיטקטורה רשמית! אבל זה סיפור אחר לגמרי לספר ...

האם אוכל לחזור הביתה?

לפני שתקח את הרעיונות שלך לטבע, אני מציע לך לבחון אותם מול רשימת בדיקה מקיפה שכתבתי לנוחיותך.

כיצד להשתמש ברשימה?

קח את ארכיטקטורת המועמדים שלך והתחז לתומך בכך שתענה על שאלות כמו במשפט (לדמיין שחבר מושבעים של קהילת iOS עוזר).

תודה שקראת!

שלח לי בטוויטר משוב.

לאן ללכת מכאן?

סקירה כללית של ארכיטקטורות iOS קיימות.
סקירת דפוס ה- MVC.