business logic - מה הכוונה?

foxMe

New member
business logic - מה הכוונה?

מה הכוונה כששואלים אותי בראיון עבודה האם ידוע לי מה זה business logic ? האם הכוונה למשל למודל שכבות DAL, BLL? אנא פרטו ככל הניתן יש לי ראיון עוד מספר שעות
 

yazam11

New member
אכן הכוונה למודל שכבות

http://en.wikipedia.org/wiki/Business_logic אם אתה רוצה קצת יותר מידע צירפתי לינק
 
בגדול

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

foxMe

New member
תודה רבה.

עוד שאלה קטנה ששאלו אותי לא מזמן: מה הצורך בכלל בשכבת ה BL? האם כל המהות זה להפריד את העבודה על ה DB, אותה עבודה שעושה שכבת ה DAL? ברור לי שלא, אנא ציינו מה עוד ידוע לכם.
 
פשוט מאוד

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