stanford-oval/wikipedia huggingface dataset:
Darksiders II
הרחבות

קיימים כמה תוספות שהחברה הוציאה:
| --- | --- |
The Abyssal Forge: הסיפור המתרחש באדמות הצל
The Demon Lord Belial: הסיפור מתרחש על פני כדור הארץ
Argul's Tomb: ה־Argul's Tomb הוא ה-DLC הראשון ל-Darksiders 2 והוא שם דגש כבד על סביבה הקפואה
הערות שוליים

↑  שמות הפרשים :מלחמה, הסכסוך, זעם, מוות
↑  מוות,Death הוא הדמות שאתה השחקן משחק.
| --- | --- |
בקרת זהויות :  BnF: cb166571450 (data)
Gimme More

Gimme More (בעברית: תני לי עוד) הוא שיר של זמרת הפופ האמריקאית בריטני ספירס, מאלבום האולפן החמישי שלה, Blackout. השיר נכתב על ידי ג'יימס וושינגטון, קרי הילסון, מרסלה ארסיה ונייט הילס. השיר שהופק על ידי דנג'ה, יצא כסינגל הראשון מתוך האלבום והיה לסינגל המצליח ביותר של ספירס בארצות הברית מאז סינגל הבכורה שלה, "...Baby One More Time".
משפט הפתיחה של השיר "It's Britney, Bitch" (בתרגום חופשי:זו בריטני, כלבה) הפך למשפט פופולרי ומוכר בתרבות הפופ המערבית, והוזכר פעמים רבות בסדרות טלוויזיה ובאירועים תרבותיות שונים ואף היווה חלק קבוע מהופעתה של מדונה בסיבוב ההופעות שלה Sticky & Sweet Tour בשיר Human Nature.
השיר מתייחס לתקופת המשבר של ספירס, ועל כך שכל תשומת הלב מופנית אל חייה האישיים ולא אל עיסוקה המקצועי, ולא משנה עד כמה מצבה גרוע, הקהל רוצה עוד שערוריות.
מידע

כבר בשנת 2006 התרוצצו שמועות על שם הסינגל הראשון מתוך האלבום הבא של ספירס. "Everybody", שיר אשר הופק על ידי המפיק היהודי ג'ונתן רותם ומסמפל שיר משנות ה-שמונים של ההרכב יוריתמיקס, היה זה שלפי השמועות יצא כסינגל ראשון. שמות נוספים של שירים עלו כמו "Get Naked", "Get Back" ו-"Freakshow". אולם, ב-30 באוגוסט 2007 דלף השיר "Gimme More" לרשת והסתמן כסינגל הבא של ספירס.
אף על פי שאלפים הורידו את השיר בצורה לא חוקית כבר באוגוסט, השיר יצא להורדה חוקית דרך תוכנת ה-iTunes רק ב-25 בספטמבר בארצות הברית ובאוסטרליה. ב-15 באוקטובר יצא השיר לתחנות הרדיו בבריטניה, שבוע לאחר מכן להורדות הדיגיטליות.
הביקורות לשיר היו בעיקר חיוביות. המגזין "Blender" החמיא לשיר וכינה אותו כ"להיט מועדונים". כתב מגזין הבילבורד האמריקאי כתב "לשיר המקפיץ והחוזר על צמד המילים 'Gimme More' יותר מ-40 פעמים בארבע דקות, מגיע לקבל מיקום מכובד במצעדי הפזמונים".
הופעת הבכורה של ספירס עם השיר הייתה בטקס פרסי הווידאו של ערוץ MTV לשנת 2007. ספירס הופיעה בצורה שהוגדרה על ידי המבקרים כלא ראויה להופעת החזרה לסצנת המוזיקה. נמתחו ביקורות גם על צורת הריקוד והדרך בה שרה, וטענו ש"אם ספירס משתמשת בפלייבק, שתנסה לפחות להסתיר זאת".
וידאו קליפ > גרסה רגילה

הווידאו קליפ לשיר בוים על ידי ג'ייק סרפטי, וצולם בחודשי יולי-אוגוסט בלוס אנג'לס. הופעת הבכורה של הקליפ הייתה ב-5 באוקטובר 2007 בתוכנית TRL והיה ניתן להורידו דרך תוכנת הiTunes.
הווידאו מראה את ספירס עם שיער בלונדיני יושבת עם שתי חברות במועדון, והן צופות בגבר היושב בבר. בסצנות אחרות, ספירס מופיעה במועדון עם שיער שחור ומבצעת מופע חשפנית על עמוד כסוף, בעוד ספירס הבלונדינית צופה בה מהצד.
נכון ליוני 2021 הווידאו קליפ לשיר עומד על כ-224,000,000 צפיות באתר הvevo הרשמי שלה.
וידאו קליפ > גרסה אלטרנטיבית

ב-18 ביוני 2011 בדיוק ארבע שנים לאחר צילומי הקליפ, דלפה לרשת הגרסה האלטרנטיבית של הקליפ. בקליפ האלטרנטיבי, סצנות החשפנות הן גסות יותר, ואף ישנם קטעים בהם שדיה של ספירס חשופים חלקית. בנוסף על כך, ישנן מספר סצנות שלא קיימות בקליפ המקורי המצולמות בבית וברחוב. הסצנות בשחור לבן.
על אף המראה הבלתי אסתטי והעריכה החובבנית, קיבלה הגרסה האלטרנטיבית אהדה רבה מן המבקרים, הצופים וחלק ממעריציה של ספירס.
הבלוגר פארז הילטון אשר כתב: "שיפור רציני[...] אך מדוע לעזאזל לא שוחררה הגרסה הזו כגרסה הרשמית? הרבה יותר טוב!".
מיקומי שיא

הסינגל יצא לאור למצעד הבילבורד ב-6 בספטמבר 2007. הכניסה לראשונה למצעד הייתה למקום ה-65. ב-25 בספטמבר, היום הראשון בו השיר היה ניתן להורדות חוקיות, הוא נכנס למקום השלישי במצעדי הפזמונים בקנדה, מקום שני בניו זילנד ומקום שישי באוסטרליה. בפחות מעשרים וארבע שעות, נכנס הסינגל למקום הראשון במצעד ההורדות הדיגיטליות של iTunes בארצות הברית, מה שהוביל למקום השלישי במצעד הבילבורד. הסינגל הפך לסינגל החמישי של ספירס אשר הצליח להיכנס לעשרת הגדולים בארצות הברית והפך להצלחה הגדולה של ספירס מזה 8 שנים. הסינגל נשאר במקום השלישי במשך שבועיים. בארצות הברית, הסינגל מכר מעל 1,300,000 עותקים וקיבל מעמד פלטינה.
גם באוסטרליה ובבריטניה זכה הסינגל להצלחה דומה ונכנס למצעדי הפזמונים למקום השלישי. באוסטרליה קיבל הסינגל מעמד זהב לאור מכירות של 35 אלף עותקים. בישראל השיר עבר את השבוע החמישי במקום הראשון במצעד השבועי של רדיוס 100FM.
נכון לאוקטובר 2008, הסינגל מכר מעל ל-4,000,000 עותקים ברחבי העולם.
|   ‏‏‏  מצעדים ודירוגים> מדינה |   ‏‏‏  מצעדים ודירוגים> מצעד |   ‏‏‏  מצעדים ודירוגים> מיקום שיא |   ‏‏‏  מצעדים ודירוגים>  |
| --- | --- | --- | --- |
|  אוסטריה | Ö3 אוסטריה טופ 40‏ | 3 |  |
|  גרמניה | GfK – טופ 100 | 7 |  |
|  דנמרק | היטליסטן | 2 |  |
|  הולנד | מצעד 40 הסינגלים ההולנדיים | 35 |  |
|  הונגריה | Rádiós Top 40 | 19 |  |
|  הממלכה המאוחדת | מצעד הסינגלים הבריטי | 3 |  |
|  נורווגיה | VG-lista | 3 |  |
|  ניו זילנד | המצעד הניו זילנדי הרשמי | 15 |  |
|  סלובקיה | ČNS IFPI | 19 |  |
|  סקוטלנד | מצעד הסינגלים הסקוטי | 4 |  |
|  פינלנד | המצעדים הפיניים הרשמיים | 6 |  |
|  צ'כיה | ČNS IFPI | 19 |  |
|  צרפת | SNEP | 2 |  |
|  קנדה | קנדה הוט 100 | 1 |  |
|  קרואטיה | טופ ליסטה | 4 |  |
|  רומניה | מצעד השירים הרומני | 24 |  |
|  שוודיה | סוורייטופליסטן | 2 |  |
|  שווייץ | המצעד השווייצרי | 4 |  |
נתוני מכירות

| מקום | תארים | מכירות |
| --- | --- | --- |
| אוסטרליה (ARIA) | זהב | 35,000 |
| קנדה (Music Canada) | זהב | 20,000 |
| דנמרק (IFPI Danmark) | פלטינה | 15,000 |
| גרמניה (BVMI) | זהב | 150,000 |
| איטליה (FIMI) | זהב | 50,000 |
| הממלכה המאוחדת (BPI) | פלטינה | 600,000 |
| ארצות הברית (RIAA) | פלטינה ×4 | 4,000,000 |
גרסאות כיסוי

בשנת 2020 הזמרת מיילי סיירוס ביצעה גרסת כיסוי של השיר בתוכנית הטלוויזיה MTV Unplugged.
Dark Times

| --- | --- |
 שיר בביצוע דה ויקנד בהשתתפות אד שירן
 מתוך האלבום Beauty Behind the Madness
 יצא לאור:  28 באוגוסט 2015
 תאריך הקלטה:  2015
 סוגה:  פופ • R&B‏ • R&B אלטרנטיבי
 שפה:  אנגלית 
 אורך:  4:20
 חברת תקליטים:  XO • ריפבליק
 כתיבה:  דה ויקנד, אד שירן, דה-הילה
 הפקה:  אילנג'לו
 
Dark Times (בעברית: זמנים אפלים) הוא שיר של הזמר-יוצר הקנדי דה ויקנד, בהשתתפות הזמר-יוצר האנגלי אד שירן, מתוך אלבום האולפן השני של דה ויקנד, Beauty Behind the Madness. השיר נכתב על ידי השניים, יחד עם דה-הילה, שכתב שירים נוספים מהאלבום, והופק ועובד על ידי המפיק הקנדי אילנג'לו. עם יציאתו, נכנס השיר למצעדי שירים שונים ברחבי העולם, הודות להורדות ולההזרמות הדיגיטליות של האלבום.
רקע

בראיון למגזין האמריקאי GQ, סיפר דה ויקנד על רקע כתיבת השיר: "כתבתי שיר עם אד שירן, שהיה די ספונטני. הוא הנחה את פרסי המוזיקה של Much בטורונטו והזמנתי אותו, ובערך את המשתתפים בטקס, לדירה שלי למסיבה. זה נמשך עד 5 בבוקר בערך, אבל כתבנו את השיר רק למחרת, אז אתה יכול לדמיין איך עבר הלילה הזה".
השיר יצא לאור ב-28 באוגוסט 2015, יחד עם שאר האלבום, כרצועה ה-12 מתוכו.
בסמוך לצאתו, עלה השיר לרשת הזרמת המדיה ספוטיפיי, תוך שהצליח לצבור שם למעלה מ-224 מיליון השמעות.
מיקומי שיא

|   ‏‏‏  מצעדים ודירוגים (2015)> מדינה |   ‏‏‏  מצעדים ודירוגים (2015)> מצעד |   ‏‏‏  מצעדים ודירוגים (2015)> מיקום שיא |   ‏‏‏  מצעדים ודירוגים (2015)>  |
| --- | --- | --- | --- |
|  ארצות הברית | בילבורד הוט 100 | 91 |  |
|  ארצות הברית | מצעד שירי ה-R&B/היפ-הופ | 35 |  |
|  הממלכה המאוחדת | מצעד הסינגלים הבריטי | 92 |  |
|  הממלכה המאוחדת | מצעד ה-R&B | 27 |  |
|  שוודיה | סוורייטופליסטן | 60 |  |
נתוני מכירות

| מקום | תארים | מכירות |
| --- | --- | --- |
| ארצות הברית (RIAA) | פלטינה | 210,000 |
| קנדה (Music Canada) | זהב | 40,000 |
Dependency injection

הזרקת תלויות (באנגלית: dependency injection) היא תבנית עיצוב המאפשרת בחירה של רכיבי תוכנה בזמן ריצה (ולא בזמן ההידור). תבנית זו יכולה, לדוגמה, לשמש כדרך פשוטה לטעינה דינאמית של plug-ins או בחירה באובייקטי דמה (mock objects) בסביבות בדיקה, במקום להשתמש באובייקטים אמיתיים של סביבת הייצור. תבנית עיצוב זו מזריקה את האלמנט שתלויים בו (אובייקט או ערך, וכדומה) אל היעד שלו, בהתבסס על ידיעה של הצרכים של היעד.
הגדרה

הזרקת תלויות כוללת לפחות שלושה אלמנטים:
"צרכן" התלוי (dependent) באלמנט מסוג מסוים.
הצהרה על התלויות (dependencies) של הרכיב, אשר מוגדרות בצורה של חוזים על בסיס ממשקים.
"מזריק" (injector), לעיתים נקרא גם "ספק" (provider) או container, אשר יוצר מופעים של מחלקות המממשות ממשק של תלות מסוימת, בהתאם לדרישה.
האובייקט "התלוי" מתאר את רכיב התוכנה שהוא תלוי בו לצורך ביצוע העבודה שלו. "המזריק" מחליט אילו מחלקות קונקרטיות (concrete classes) מספקות את הדרישות של האובייקט התלוי, ומספק לו אותן.
בתכנות מסורתי, האובייקט התלוי מחליט בעצמו באיזה סוג של מחלקה קונקרטית הוא ישתמש. בעבודה עם הזרקת תלויות, החלטה זו מועברת אל ה"מזריק" שיכול להחליט בזמן ריצה להחליף בין מימושים קונקרטיים שונים של הממשק של התלות (dependency).
היכולת לבצע את ההחלטה הזו בזמן ריצה (ולא בזמן ההידור) היא היתרון המרכזי של הזרקת תלויות. בזמן ריצה, ניתן ליצור מימושים רבים שונים של אותו רכיב תוכנה, ולהעביר ("להזריק") אותו לאותו קוד בדיקות. כך קוד הבדיקות יכול לבדוק את כל רכיבי התוכנה השונים, מבלי להיות מודע לכך שמה שהוזרק לו ממומש באופן שונה.
שימושים ודוגמה

המטרה העיקרית בשימוש בהזרקת תלויות היא על מנת לאפשר בחירה מבין מגוון מימושים של ממשק מסוים (הוא התלות - dependency) - בזמן ריצה או באמצעות קובצי קונפיגורציה, במקום בזמן ההידור. תבנית עיצוב זו שימושית במיוחד על מנת לספק מימושי "דמה" (mock) של רכיבים מורכבים בזמן ביצוע בדיקות תוכנה. כמו כן, לעיתים קרובות משתמשים בתבנית זו גם לצורך איתור רכיבי פלאג-אין או לאיתור ואתחול של שירותי תוכנה.
ביצוע של בדיקות יחידה של רכיבים במערכות תוכנה גדולות הוא קשה בגלל שלעיתים קרובות הרכיבים הנבדקים דורשים קיום של תשתית רחבה על מנת שבכלל יוכלו לפעול. הזרקת תלויות מפשטת את תהליך היצירה של מופע עובד של רכיב בודד לצורך בדיקה שלו. בזכות העובדה שרכיבים מכריזים על התלויות (dependencies) שלהם, טסט יכול באופן אוטומטי להביא רק את הרכיבים שתלויים בהם, הנדרשים לצורך ביצוע הבדיקה.
מעבר לזאת, בזמן ביצוע בדיקות, ניתן להגדיר את ה"מזריק" להחליף את המימוש הרגיל של הרכיב שתלויים בו, במימוש "דמה" מפושט. הרעיון הוא שהרכיב הנבדק יכול להיבדק בנפרד כל עוד הרכיבים שמוזרקים לו מממשים את החוזה של הממשק שהוא תלוי בו, באופן מספק לצורך ביצוע בדיקת היחידה הספציפית.
בתור דוגמה ניתן לחשוב על תוכנה למסחר אוטומטי במניות, אשר מתקשרת בזמן אמת עם שירות מסחר און-ליין, ושומרת את הנתונים ההיסטוריים בבסיס נתונים מבוזר. במצב רגיל, על מנת לבדוק את הרכיב שממליץ על עסקאות, יהיה צורך בחיבור אל שירות האון-ליין, ובבסיס נתונים מבוזר אמיתי, המכיל נתונים מתאימים לצורך הבדיקה. בשימוש בהזרקת תלויות, ניתן להחליף לגמרי את הרכיבים שמספקים גישה אל שירות האון-ליין ואל בסיס הנתונים, במימושי דמה של הממשקים שתלויים בהם, ובכך לספק את ה"חוזה", ולספק רק את הפונקציונליות הנדרשת לצורך ביצוע הבדיקות על הרכיב הנבדק, ולא מעבר לכך.
מימושים

ללא הזרקת תלויות, הרכיב ה"צרכן" אשר נזקק לשירות מסוים לצורך ביצוע משימה כלשהי, חייב ליצור מופע של מחלקה קונקרטית אשר מממשת את ממשק התלות. לעומת זאת, כאשר משתמשים בהזרקת תלויות, הרכיב ה"צרכן" מציין את חוזה השירות על ידי ממשק, והרכיב ה"מזריק" בוחר את המימוש עבור הרכיב ה"תלוי".
במימוש הפשוט ביותר שלו, הקוד שיוצר את האובייקטים שהצרכן תלוי בהם, מספק את התלויות לאובייקט הזה דרך ארגומנטים של constructor או על ידי קביעת ערכים למשתני מחלקה (properties) של האובייקט (באמצעות מתודות set).
מימושים מורכבים יותר, כדוגמת Google Guice ,Spring Framework ו-(Microsoft Managed Extensibility Framework (MEF, מספקים אוטומציה של תהליך זה. תשתיות תוכנה אלה מזהות את הארגומנטים שקונסטרקטורים מקבלים, או את משתני המחלקה שיש ליצור, בתור בקשות לאובייקטים שתלויים בהם. במסגרת תהליך היצירה של האובייקט התלוי, הן אוטומטית מזריקות לו מופעים של התלויות שנוצרים מראש, כארגומנטים לקונסטרקטור או קובעות אותם כערכים עבור משתני המחלקה שלו. הלקוח יוצר בקשה למערכת הזרקת התלויות לקבלת מימוש של ממשק מסוים; מערכת הזרקת התלויות יוצרת את האובייקט, ובאופן אוטומטי ממלאת את התלויות בהתאם לצורך.
יתרונות

יתרון אחד של שימוש בגישת הזרקת התלויות הוא בהפחתת הכמות של קוד החוזר על עצמו (boilerplate code) באובייקטים של היישום, מאחר שהעבודה לאתחול או הקמה של התלויות מבוצעת על ידי הרכיב ה"ספק".
יתרון נוסף הוא בכך שהזרקת תלויות מאפשרת גמישות בקונפיגורציה. ניתן להשתמש במימושים אלטרנטיביים של שירות מסוים מבלי להדר מחדש את הקוד. דבר זה שימושי בבדיקות יחידה מכיוון שזה מקל על הזרקת מימושים "מזויפים" של שירות לתוך אובייקט נבדק, על ידי עריכת קובץ קונפיגורציה, או על ידי שינויים ברישום האובייקטים בזמן ריצה.
כמו כן, שימוש בהזרקת תלויות מסייע בכתיבת קוד נוח לבדיקה.
סוגים

מומחה התוכנה מרטין פאולר זיהה שלוש דרכים בהן אובייקט יכול לקבל קישור (reference) למודול חיצוני, בהתאם לתבנית המשמשת כדי לספק את התלות:
הזרקת ממשק (interface injection) – המודול המיוצא מספק ממשק שהמשתמשים בו חייבים לממש על מנת לקבל את התלויות בזמן ריצה.
הזרקה באמצעות מתודות setter injection) set) – המודול התלוי (dependent), חושף מתודת set שהתשתית משתמשת בה כדי להזריק דרכה את התלות (dependency).
הזרקה באמצעות קונסטרקטור (constructor injection) – התלויות מסופקות דרך פונקציית הבנאי של המחלקה.
תשתיות תוכנה אחרות יכולות להשתמש גם בסוגי הזרקה שונים מאלה שמפורטים כאן.
דוגמאות קוד ב-Java

בהתבסס על דוגמת התוכנה למסחר במניות שהוזכרה קודם, הדוגמאות הבאות בשפת Java ממחישות את הדרכים הטיפוסיות לביצוע הזרקת תלויות ידנית, והזרקת תלויות המבוצעת על ידי תשתיות (frameworks) ייעודיות.
הממשקים הבאים מגדירים את החוזים עבור התנהגות הרכיבים במערכת המסחר במניות:
public interface IOnlineBrokerageService {
    String[] getStockSymbols();
    double getAskingPrice(String stockSymbol);
    double getOfferPrice(String stockSymbol);
    void putBuyOrder(String stockSymbol, int shares, double bidPrice);
    void putSellOrder(String stockSymbol, int shares, double offerPrice);
}

public interface IStockAnalysisService {
    double getEstimatedValue(String stockSymbol);
}

public interface IAutomatedStockTrader {
    void executeTrades();
}
דוגמאות קוד ב-Java > תלויות מצומדות חזק (highly coupled)

הדוגמה הבאה מציגה קוד ללא יישום של הזרקת תלויות:
public class VerySimpleStockTraderImpl implements IAutomatedStockTrader {
    private IStockAnalysisService analysisService = new StockAnalysisServiceImpl();
    private IOnlineBrokerageService brokerageService = new NewYorkStockExchangeBrokerageServiceImpl();

    public void executeTrades() {
        for (String stockSymbol : brokerageService.getStockSymbols()) {
            double askPrice = brokerageService.getAskingPrice(stockSymbol);
            double estimatedValue = analysisService.getEstimatedValue(stockSymbol);
            if (askPrice < estimatedValue) {
                brokerageService.putBuyOrder(stockSymbol, 100, askPrice);
            }
        }
    }
}

public class MyApplication {
    public static void main(String[] args) {
        IAutomatedStockTrader stockTrader = new VerySimpleStockTraderImpl();
        stockTrader.executeTrades();
    }
}
המחלקה VerySimpleStockTraderImpl יוצרת מופעים של IStockAnalysisService ו-IOnlineBrokerageService על ידי קישור נוקשה בקוד (hard coding) למחלקות הקונקרטיות שממשות את הממשקים (קריאה ישירה לקונסטרקטורים של המחלקות הקונקרטיות באמצעות המילה השמורה new).
דוגמאות קוד ב-Java > הזרקת תלויות ידנית

ארגון מחדש של הקוד מהדוגמה הקודמת לשימוש בהזרקת תלויות ידנית תיראה כך:
public class VerySimpleStockTraderImpl implements IAutomatedStockTrader {
    private IStockAnalysisService analysisService;
    private IOnlineBrokerageService brokerageService;
    
    //constructor
    public VerySimpleStockTraderImpl(IStockAnalysisService analysisService, IOnlineBrokerageService brokerageService) {
        this.analysisService = analysisService;
        this.brokerageService = brokerageService;
    }
    public void executeTrades() {
        …
    }
}

public class MyApplication {
    public static void main(String[] args) {
        IStockAnalysisService analysisService = new StockAnalysisServiceImpl();
        IOnlineBrokerageService brokerageService = new NewYorkStockExchangeBrokerageServiceImpl();

        IAutomatedStockTrader stockTrader = new VerySimpleStockTraderImpl(analysisService, brokerageService);
        stockTrader.executeTrades();
    }
}
בדוגמה זו הקוד במתודת ה-main שבמחלקה MyApplication ממלא תפקיד של מזריק תלויות. בפונקציה הזאת בוחרים את המימושים הקונקרטיים של התלויות הנדרשות על ידי VerySimpleStockTraderImpl, ואז מספקים את התלויות האלה באמצעות הזרקה לקונסטרקטור (constructor injection).
דוגמאות קוד ב-Java > הזרקת תלויות אוטומטית

קיימות מספר תשתיות (frameworks) המאפשרות אוטומציה של ניהול תלויות באמצעות delegation. בדרך כלל זה נעשה על ידי שימוש בהגדרות XML או metadata. ארגון מחדש של הקוד מהדוגמה הקודמת לשימוש בהגדרות XML חיצוניות דרך תשתית תוכנה תיראה כך:
קובץ קונפיגורציה ב-XML:
<contract id="IAutomatedStockTrader">
        <implementation>VerySimpleStockTraderImpl</implementation>
    </contract>
    <contract id="IStockAnalysisService" singleton="true">
        <implementation>StockAnalysisServiceImpl</implementation>
    </contract>
    <contract id="IOnlineBrokerageService" singleton="true">
        <implementation>NewYorkStockExchangeBrokerageServiceImpl</implementation>
    </contract>
הקוד ב-Java:
public class VerySimpleStockTraderImpl implements IAutomatedStockTrader {
    private IStockAnalysisService analysisService;
    private IOnlineBrokerageService brokerageService;

    public VerySimpleStockTraderImpl(IStockAnalysisService analysisService, IOnlineBrokerageService brokerageService) {
        this.analysisService = analysisService;
        this.brokerageService = brokerageService;
    }
    public void executeTrades() {
        …
    }
}

public class MyApplication {
    public static void main(String[] args) {
        IAutomatedStockTrader stockTrader =
            (IAutomatedStockTrader) DependencyManager.create(IAutomatedStockTrader.class); // here is where the magic happens :)
        stockTrader.executeTrades();
    }
}
בדוגמה זו משתמשים בשירות להזרקת תלויות בשם DependencyManager, לצורך קבלת מופע של מחלקה המממשת את חוזה ה- IAutomatedStockTrader. ה-DependencyManager מסיק מקובץ הקונפיגורציה (XML), שעליו ליצור מופע של המחלקה VerySimpleStockTraderImpl. על ידי בחינה של הארגומנטים של הקונסטרקטור באמצעות reflection, ה-DependencyManager מסיק גם שלמחלקה VerySimpleStockTraderImpl יש שתי תלויות; לכן הוא יוצר מופעים של IStockAnalysisService ו-IOnlineBrokerageService ומספק תלויות אלה כארגומנטים לקונסטרקטור.
מכיוון שקיימות שיטות רבות לממש הזרקת תלויות, רק חלק קטן מהן מוצג בדוגמאות אלה. לכן העברת ניהול התלויות ממודול אחד לאחר ניתנת לביצוע במגוון דרכים.
דוגמאות קוד ב-Java > בדיקות יחידה באמצעות הזרקת מימושי דמה

בדיקה של תוכנה לסחר במניות כנגד שירות ברוקרים אמיתי עלולה לגרום לתוצאות הרסניות. ניתן להשתמש בהזרקת תלויות כדי להחליף את המימושים האמיתיים במימושים לצורך בדיקות על מנת לפשט את תהליך בדיקות היחידה. בדוגמה שלמטה, בדיקת היחידה רושמת מימושים חלופיים של IOnlineBrokerageService ו-IStockAnalysisService לצורך ביצוע בדיקות וכדי לבצע ולידציה על ההתנהגות של VerySimpleStockTraderImpl.
public class VerySimpleStockBrokerTest {
    // Simplified "mock" implementation of IOnlineBrokerageService.
    public static class MockBrokerageService implements IOnlineBrokerageService {
        public String[] getStockSymbols() { 
            return new String[] {"ACME"};
        }
        public double getAskingPrice(String stockSymbol) {
            return 100.0; // (just enough to complete the test)
        }
        public double getOfferPrice(String stockSymbol) { 
            return 100.0;
        }
        public void putBuyOrder(String stockSymbol, int shares, double bidPrice) {
             Assert.Fail("Should not buy ACME stock!");
        }
        public void putSellOrder(String stockSymbol, int shares, double offerPrice) {
             // not used in this test.
             throw new NotImplementedException(); 
        }
    }

    public static class MockAnalysisService implements IStockAnalysisService {
        public double getEstimatedValue(String stockSymbol) {
            if (stockSymbol.equals("ACME")) 
                return 1.0;
            return 100.0;
        }
    }

    public void TestVerySimpleStockTraderImpl() {
        // Direct the DependencyManager to use test implementations.
        DependencyManager.register(
            IOnlineBrokerageService.class,
            MockBrokerageService.class);
        DependencyManager.register(
            IStockAnalysisService.class,
            MockAnalysisService.class);

        IAutomatedStockTrader stockTrader =
            (IAutomatedStockTrader) DependencyManager.create(IAutomatedStockTrader.class);
        stockTrader.executeTrades();
    }
}
ראו גם

Inversion of control
Spring Framework
פלאג אין
Strategy pattern
God Save the Queen (שיר של קווין)

| --- | --- |
 שיר בביצוע קווין
 מתוך האלבום A Night at the Opera
 יצא לאור:  21 בנובמבר 1975
 סוגה:  רוק
 שפה:  ללא תוכן לשוני 
 אורך:  1:14
 חברת תקליטים:  EMI (בריטניה) הוליווד רקורדס (ארצות הברית)
 לחן:  עממי
 הפקה:  קווין ורוי תומאס בייקר
 עיבוד:  בריאן מיי
 ביצועים מאוחרים:  Live at the Golden Jubilee of Queen Elizabeth II
 
God Save the Queen (בעברית: אלוהים נצור את המלכה) הוא קטע אינסטרומנטלי של קווין. הקטע הוא עיבוד רוק שנכתב על ידי גיטריסט הלהקה, בריאן מיי להמנון הבריטי, (בדומה לגרסת הרוק של ג'ימי הנדריקס להמנון האמריקאי) אשר חותם את אלבומם הרביעי, A Night at the Opera.
השיר מעולם לא בוצע בהופעות של הלהקה, אבל הוא כן שימש בהרבה מהן כשיר סיום, שנוגן (בהקלטתו המקורית) בזמן שהלהקה נפרדה מהקהל. לפעמים גם בזמן שפרדי מרקיורי היה מתגנדר על הבמה עם גלימת יוניון ג'ק או כתר מלוכה וקד קידות.
השיר כן בוצע בהופעה על ידי בריאן מיי בשנת 2002, בעת חגיגות הג'ובילי (50 שנה לשלטון אליזבת השנייה מלכת אנגליה) כאשר עמד מיי על גג ארמון בקינגהאם וניגן את השיר ביחד עם תזמורת שהייתה על הקרקע.
השיר מופיע לקצרה במערכון "רובוט-יגאל" של ניצה ולחם, ברקע ההכרזה כי התקפה איראנית נמנעה והמדינה ניצלה.
783

שנת 783 היא השנה ה-83 במאה ה-8. זוהי שנה רגילה, שאורכה 365 ימים. באותה תקופה הלוח הגרגוריאני עוד לא היה קיים, ולכן שנה זו קיימת בלוח היוליאני בלבד.
כל התאריכים שלהלן הם לפי הלוח היוליאני.
ראו גם

ילידי 783‎
נפטרים ב-783‎
My Happy Ending

My Happy Ending הוא שיר רוק שנכתב והופק על ידי הזמרת אבריל לאבין ובוץ' ווקר עבור אלבומה השני של לאבין, Under My Skin. השיר הופץ כסינגל שני מתוך האלבום בשנת 2004 והפך ללהיט השלישי של לאבין בארצות הברית ובאוסטרליה, כאשר נכנס לעשרת המובילים במצעדי שתי המדינות.
הסינגל קיבל מעמד פלטינה בינואר 2005, כאשר הפך לסינגל השני שקיבל מעמד פלטינה לאחר סינגל הבכורה שלה, "Complicated".
רקע

פרק זה לוקה בחסר. אנא תרמו לוויקיפדיה ו.
הצלחה

איגוד תעשיית ההקלטות האוסטרלי העניק לשיר את תואר הזהב, על מכירות של למעלה מ-35,000 עותקים במדינה. איגוד תעשיית ההקלטות הברזילאי העניק לשיר את תואר הפלטינה, על מכירות של למעלה מ-100,000 עותקים במדינה.
בארצות הברית, נמכר השיר בלמעלה מ-1.2 מיליון עותקים שאושרו על ידי איגוד תעשיית ההקלטות האמריקאי.
פילמוגרפיה

השיר הושמע בטריילר לקומדיה הרומנטית "הכי דומה לאהבה" (A Lot like Love) בכיכוב אמנדה פיט ואשטון קוצ'ר.
נתוני מכירות

| אזור | תואר | עותקים | מקור |
| --- | --- | --- | --- |
| ארצות הברית ארצות הברית (RIAA) | פלטינה 2× | 2,000,000 |  |
הערות שוליים

↑  ARIA Charts - Accreditations - 2004 Singles, www.aria.com.au
↑  "Brazilian single certifications – Avril Lavigne – My Happy Ending" (in Portuguese). Associação Brasileira dos Produtores de Discos.
↑  Ask Billboard: Avril Lavigne's Best-Selling Songs & Albums, Billboard, ‏2015-09-06
↑  Gold & Platinum, RIAA (באנגלית אמריקאית)
| אבריל לאבין |
| --- | --- | --- |
| דיסקוגרפיה • שירים • פרסים ומועמדויות | דיסקוגרפיה • שירים • פרסים ומועמדויות |  |
| אלבומי אולפן | Let Go • Under My Skin • The Best Damn Thing • Goodbye Lullaby • Avril Lavigne • Head Above Water • Love Sux |  |
| אלבומי הופעה | My World • Greatest Hits |  |
| אלבומי אוסף | B-Sides |  |
| אלבומי וידאו | Avril Lavigne: My World • Bonez Tour 2005: Live at Budokan • The Best Damn Tour: Live in Toronto |  |
| סינגלים | "Complicated" • "Sk8er Boi" • "I'm with You" • "Losing Grip" • "Mobile" • "Don't Tell Me" • "My Happy Ending" • "Nobody's Home" • "He Wasn't" • "Fall to Pieces" • "Keep Holding On" • "Girlfriend" • "When You're Gone" • "Hot" • "The Best Damn Thing" • "Alice" • "What the Hell" • "Smile" • "Wish You Were Here" • "Here's to Never Growing Up" • "Rock n Roll" "Let Me Go" • "Hello Kitty" • "Give You What You Like" • "Fly" • "Head Above Water" • "Tell Me It's Over" • "Dumb Blonde" • "I Fell in Love with the Devil" • "We Are Warriors" • "Bite Me" • "Love It When You Hate Me" |  |
| שירים אחרים | "I Always Get What I Want" • "Take Me Away" • "Push" • "Bad Reputation" • "How You Remind Me" • "Bad Girl" • "Flames" |  |
| סיבובי הופעות | Try To Shut Me Up Tour • Bonez Tour • The Best Damn World Tour • The Black Star Tour • The Avril Lavigne Tour  • Head Above Water Tour |  |
| --- | --- |
בקרת זהויות :  MusicBrainz release group: f4c4acfb-2258-3f23-a411-840746fc94af  MusicBrainz work: 05f47a8f-5af6-3085-82c4-07628de33304