PracticU

Advanced Features - Collection Types

בלי כתוביותעם כתוביות
PracticU › קורס WCF - תקשורת למתקדמים בדוט-נט › Advanced Features - Collection Types
מילון מושגים:
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
Dictionary - מבנה נתונים שמאחסן זוגות של מפתח וערך, ומאפשר שליפה מהירה של ערך לפי מפתחו.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
האש - פונקציה שממירה מידע לערך קצר באורך קבוע. שינוי קטן בקלט משנה את התוצאה, והיא חד-כיוונית.

Advanced Features - Collection Types
השיעור מראה כיצד לשלוט בסוגי הקולקציות שמגיעות מהשרת ללקוח ונשלחות ממנו, באמצעות האפשרויות Collection Types ו-Dictionary Collection Types בחלון Advanced.
השירות לדוגמה
הממשק IArrayServices כולל שתי פונקציות:
1. Reverse: מקבלת מערך חד-ממדי ומחזירה אותו בסדר הפוך.
2. GetOneToTenNumbers: מחזירה קולקציה של המספרים 1 עד 10, כשהמספר הוא המפתח והשם האנגלי שלו הוא הערך.
מה הלקוח מקבל כברירת מחדל
בלי שינוי, המערך נשאר מערך. הקולקציה מפתח-ערך מגיעה כ-Dictionary. בחלון Advanced אפשר לשנות את ההגדרה:
1. Collection Types: מערך חד-ממדי ניתן להמיר ל-List, שמאפשר להוסיף ולהסיר פריטים.
2. Dictionary Collection Types: את ה-Dictionary אפשר להמיר ל-Hashtable. בשיעור נבחר Hashtable.
הדגמה
1. עם List הפונקציה Reverse מקבלת List ומחזירה List.
2. עם Hashtable הלקוח עובר בלולאה על הערכים ומציג מפתח וערך. הסדר בטבלת hash אינו מובטח, ולכן התוצאה עשויה להופיע בסדר אחר.
העיקרון: הלקוח שולט בטיפוס הקולקציה שמגיעה אליו, בלי לשנות את השירות.
השיעור הבא בקורס: Advanced Features - Reuse Types

פרקי ההרצאה: Advanced Features - Collection Types

  1. 00:00

    טיפוסי אוספים באפשרויות Advanced

  2. 01:05

    שירות מערכים ופונקציית הפיכה

  3. 01:43

    פונקציה שמחזירה מספרים ומילוליהם

  4. 02:42

    מימוש Reverse בלולאה

  5. 04:31

    מילוי ה-Hashtable במספרים

  6. 05:50

    הגדרת כתובת ה-Host ו-Endpoint

תמלול ההרצאה: Advanced Features - Collection Types

הטקסט המלא של הדקות הראשונות בהרצאה «Advanced Features - Collection Types» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:20

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

  2. 00:36

    הדבר הראשון שנראה זה Collection Types ו-Dictionary Collection Types. אז בואו נסתכל איך אנחנו יכולים להשתמש עם זה.

  3. 00:46

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

  4. 01:25

    פונקציות פונקציה ראשונה מקבלת מערך והופכת את הסדר שלו, נקרא לה reverse, בוא נניח שהיא קיבלה איזשהו מערך וזה מה שהיא עושה לו, הפונקציה השנייה סך הכל לא הולכת לקבל כלום והולכת להחזיר לנו arraylist שמכיל את כל המספרים נניח מ-1 עד 10 כאשר יש לנו את המפתח בתור המספר ואת הvalue בתור המספר כמילה

  5. 02:04

    באנגלית ואלה שתי הפונקציות שיש לנו, נקרא לפונקציה הזאת get one to ten numbers, אוקיי. הדבר הבא שאנחנו הולכים לעשות זה לממש את האינטרפייס במחלקה.

  6. 02:24

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

  7. 02:47

    אורייט, אז יש לנו את הפונקציה reverse, ומה שהיא עושה היא מקבלת את המערך והיא צריכה להפוך אותו, אז בואו נפתח פה איזשהו משתנה tmp נרוץ בלולד 4 רגילה אנחנו צריכים לרוץ רק עד arraylength לחלק ל-2 מפני שאנחנו לא רוצים לרוץ על כל המערך מפני שאנחנו סך הכל הופכים את התאים שבו ואנחנו ניגשים לtmp ומכניסים

  8. 03:13

    לתוכו את array על i ואחר מכן מכניסים ל-ra במיקום האחרון length -1 אבל אנחנו רוצים להתקדם ולכן -i את rai ששמרנו, האמת אנחנו צריכים לעשות את זה בדיוק הפוך, בואו ניקח את זה נכניס פה i ונגיע לסוף של המערך ולבסוף נגיע לתא האחרון ונכניס לתוכו את tmp, tmp רק אמור להיות w.

  9. 04:01

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

  10. 04:24

    מה אנחנו עושים בפונקציה שמחזירה לנו השטייבל? בואו ניצור השטייבל ונכניס לתוך ההשטייבל את כל המספרים מ-1 עד 10. השטייבל נקודה add, מפתח הוא המספר והערך הוא השם שלו, לדוגמא 1. כך אנחנו יכולים ללכת 1, 1, יש לנו פה 2, 3, 4,

  11. 05:17

    5, יש לנו את 6, 6, 7 ו-8 ועוד 2, יש לנו את 9. אוקיי, עכשיו אנחנו צריכים רק להחזיר את זה והפונקציות מוכנות.

  12. 05:57

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

  13. 06:09

    טוב, אז השירותים גמורים ואנחנו יכולים לגשת להוסט ולראות אם הוא מקונפג כמו שצריך. יש לנו פה HTTP-127-001, איזשהו פורט, נחליף את זה ל-ra-services, זה יכול להיות כל שם אחר שאנחנו רוצים, זה לא חייב להיות שום שם של מחלקה או משהו כזה.

  14. 06:35

    לאחר מכן יש לנו פה את ה-binding, יש לנו את הקונטראקט שהוא IRA סרוויס, סרוויסס יותר נכון, יש לנו את ה-host, מוסיפים את ה-endpoint, behavior בכדי שיהיה באוויר, אפשר להשאיר את זה על אותו WSDL, מוסיפים את ה-behavior, פותחים, מציגים, הכל בסדר.

לקורס המלא: קורס WCF אונליין בדוט-נט

ההרצאה הקודמת: Proxy - Multiple Addresses

ההרצאה הבאה: Advanced Features - Reuse Types

הרצאות קשורות מקורסים אחרים

  • יצירת Collection
  • Types of Memories
  • Advanced Routing - Paging
  • הגדרת Query Collection

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C