הרשם שאלות ותשובות רשימת חברים לוח שנה חיפוש הודעות מהיום סמן פורומים כנקראו

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 03-02-13, 07:20   # 1
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

שאלה | דרכים לבנות מערכת גדולה

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

אני חשבתי על משהו כזה:

קבצים כאלה:
sources
-- core
----- core.php - מכיל את כל הליבה של המערכת, כל הפונקציות אבטחה והקריאה לדפים וכו'..
----- functions.php - מכיל פונקציות עזר כמו האבטחה עצמה, קיצור מחרוזות וכו'..
-- apps
----- index.app.php - קבצים שיפעילו את האתר, לדוגמה הקובץ הזה יופעל בכניסה לעמוד

העמוד הראשי index.php יכוון לקובץ core.php ויקרא לפונקצייה ראשונית (init)


זה לא הכי מפותח אבל זה מה שעלה לי כרגע לראש, זה ממש הבסיס, בלי הסקינים או הקבצי אדמין וכו'..
אני בטוח שזה לא הכי טוב לכן פתחתי את האשכול הזה כדי לשמוע עוד אפשריות
  Reply With Quote
ישן 03-02-13, 07:34   # 2
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

תלמד על MVC, דרך אגב הייתי ממליץ לך לכתוב ORM משלך
  Reply With Quote
ישן 03-02-13, 07:38   # 3
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אני יודע מה זה mvc אבל אני לא אוהב לעבוד איתם,
בכל זאת אני אשמח לשמוע עוד אפשריות של אחרים
  Reply With Quote
ישן 03-02-13, 09:27   # 4
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

מבנה התיקיות זה נושא שולי - זה יתן לך סדר וארגון, לא יותר (לא שזה לא חשוב כמובן, אבל זה לא מה שאתה צריך להתמקד בו כרגע).
תלמד על פיתוח מונחה עצמים, תקרא על עקרונות כמו SOLID, KISS ו- DRY, תחקור על Design Patterns נפוצים ו- Best Practices.

ובעניין ה- MVC - זה רק יעזור לך.
אם אתה לא אוהב "אותם" זה כנראה כי לא ממש הבנת את הרעיון (ואני מניח את זה על פי ההגדרה שלך - "אותם").
MVC זאת לא קבוצה, אין כאן "אותם" - MVC זה רעיון, זה Design Pattern.
תלמד לעבוד עם Framework כלשהו, כמו Laravel לדוג' - הוא מצויין לרוב השימושים הנפוצים.

בהצלחה.
  Reply With Quote
ישן 03-02-13, 11:20   # 5
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

בנוגע לפרימוורק הייתי ממליץ על YII, הוא פנטסטי.
ואדיר צודק, תעבוד לפי העקרונות שהוא ציין, בהחלט יעזרו לך.
  Reply With Quote
ישן 03-02-13, 18:03   # 6
Yahavgb
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 19

Yahavgb לא מחובר  

ציטוט:
נכתב במקור על ידי xPerfection צפה בהודעה
מבנה התיקיות זה נושא שולי - זה יתן לך סדר וארגון, לא יותר (לא שזה לא חשוב כמובן, אבל זה לא מה שאתה צריך להתמקד בו כרגע).
תלמד על פיתוח מונחה עצמים, תקרא על עקרונות כמו SOLID, KISS ו- DRY, תחקור על Design Patterns נפוצים ו- Best Practices.

ובעניין ה- MVC - זה רק יעזור לך.
אם אתה לא אוהב "אותם" זה כנראה כי לא ממש הבנת את הרעיון (ואני מניח את זה על פי ההגדרה שלך - "אותם").
MVC זאת לא קבוצה, אין כאן "אותם" - MVC זה רעיון, זה Design Pattern.
תלמד לעבוד עם Framework כלשהו, כמו Laravel לדוג' - הוא מצויין לרוב השימושים הנפוצים.

בהצלחה.
+1
בכל מקרה התכנון שהראת כאן לא משהו, בייחוד לא לאפליקציה "גדולה" - סתם לדוגמא, למה שתשמור את כל הליבה על קובץ אחד?! הליבה זה דבר ענקי... אם הייתי שומר את הליבה שלי על קובץ אחד הוא היה קובץ של 300K+ שורות - תיצור לכל מחלקה קובץ.

בכל מקרה- מבחינת ארכיטקטורת עיצוב, אתה יכול להשתמש בארכיטקטורה של N-Tier application, למשל Data centeric ו-Domain centeric... אבל אני מניח שזה מתאים רק אחרי שתדע להשתמש ב-DESIGN PATTERNS כמו שצריך ולהשתמש ב-MVC.

לגבי ה"לא אהבת אותם" (MVC) - אני מניח, ותקן אותי אם אני טועה, שלא אהבת את העניין שכל דבר אתהצריך להפריד - זה נכון שזה נראה בהתחלה "מסורבל" ("אוי למה לכל דבר אני יוצר קובץ, עכשיו בא לי לכתוב HTML למה אני צריך את כל הכאב ראש הזה במקום לסגור בלוק PHP, לכתוב מה שאני רוצה ולחזור" או משהו בסגנון) - יש המון ייתרונות לעבוד ב-MVC, ואני בטוח שכשתתחיל להשתמש בה אתה תראה אותם.
אגב, ברגע שתתחיל להשתמש ב-N-Tier application design אתה תראה שזה רק נעשה "מסורבל" יותר בהתחלה... למשל בתבנית רגילה של DDD (Domain Driven Programming) אתה תראה שיצא לך מצב שאתה מעביר נתונים ויוצר לפעמים אותם פוקנציות שפשוט משמשות כנטב בין כמה שכבות.
למשל במקרה שבו יש לך עיצוב שבו יש לך את הUI שבנוי עם MVC, יש לך את הinfrastructure שבתוכו יש לך מימושים ל-Services, UnitOfWork ו-Repository ויש לך את ה-Core ששם יש לך אינטרפייסים לכל אותם מימושים שיש לך ב-infrastructure.

בכל מקרה לך צעד צעד, נסה להתחיל לקרוא על תבניות עיצוב בסיסיות ותתקדם משם. מבחינת מערכת, אני גם מסכים שעדיף לך להשתמש בFW מוכן - הוא יוכל לעזור לך להבין הרבה עקרונות עיצוביים לפני שאתה מנסה ארכיטקטורה משלך. בהצלחה! .
__________________
  Reply With Quote
ישן 03-02-13, 19:40   # 7
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

ציטוט:
נכתב במקור על ידי Yahavgb צפה בהודעה
+1
בכל מקרה התכנון שהראת כאן לא משהו, בייחוד לא לאפליקציה "גדולה" - סתם לדוגמא, למה שתשמור את כל הליבה על קובץ אחד?! הליבה זה דבר ענקי... אם הייתי שומר את הליבה שלי על קובץ אחד הוא היה קובץ של 300K+ שורות - תיצור לכל מחלקה קובץ.

בכל מקרה- מבחינת ארכיטקטורת עיצוב, אתה יכול להשתמש בארכיטקטורה של N-Tier application, למשל Data centeric ו-Domain centeric... אבל אני מניח שזה מתאים רק אחרי שתדע להשתמש ב-DESIGN PATTERNS כמו שצריך ולהשתמש ב-MVC.

לגבי ה"לא אהבת אותם" (MVC) - אני מניח, ותקן אותי אם אני טועה, שלא אהבת את העניין שכל דבר אתהצריך להפריד - זה נכון שזה נראה בהתחלה "מסורבל" ("אוי למה לכל דבר אני יוצר קובץ, עכשיו בא לי לכתוב HTML למה אני צריך את כל הכאב ראש הזה במקום לסגור בלוק PHP, לכתוב מה שאני רוצה ולחזור" או משהו בסגנון) - יש המון ייתרונות לעבוד ב-MVC, ואני בטוח שכשתתחיל להשתמש בה אתה תראה אותם.
אגב, ברגע שתתחיל להשתמש ב-N-Tier application design אתה תראה שזה רק נעשה "מסורבל" יותר בהתחלה... למשל בתבנית רגילה של DDD (Domain Driven Programming) אתה תראה שיצא לך מצב שאתה מעביר נתונים ויוצר לפעמים אותם פוקנציות שפשוט משמשות כנטב בין כמה שכבות.
למשל במקרה שבו יש לך עיצוב שבו יש לך את הUI שבנוי עם MVC, יש לך את הinfrastructure שבתוכו יש לך מימושים ל-Services, UnitOfWork ו-Repository ויש לך את ה-Core ששם יש לך אינטרפייסים לכל אותם מימושים שיש לך ב-infrastructure.

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

Yume? אני רק משכיל מהתגובות שלך בכל הפורומים השונים.
אבל מה הקטע של ״הליבה״, לא הבנתי למה אתם מתכוונים בזה.
  Reply With Quote
ישן 03-02-13, 20:10   # 8
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

שלא תבינו לא נכון, יצא לי לעבוד מול mvc ואני פשוט לא אוהב את זה ממש, (אמרתי אותם בגלל שהכללתי את כל הMVCים)

אני אקרא קצת על ה n-tier,
המערכת תהיה מערכת לא קטנה,
ברור שאני לא מתכוון לשמור את כל הליבה בקובץ אחד, פשוט הקובץ Core ישמש כליבה עצמה שתקשר למחלקות ואני כן מכיר את הdesign patterns

אולי בכל זאת להשתמש ב- MVC ? אשמח לשמוע עוד תגובות בנושא.

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

Last edited by Haimz; 03-02-13 at 20:42..
  Reply With Quote
ישן 03-02-13, 21:12   # 9
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

Yahavgb, תודה רבה עזרת לי להגיע להחלטה

אני אלך על ה N-Tier עם MVC שאני אבנה למערכת, אולי הוא יהיה חלקי חח או שאולי הוא יהיה מלא, תודה רבה גבר ותודה לכולם .
  Reply With Quote
ישן 03-02-13, 22:22   # 10
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

בכיף, דרך אגב אפשר הסבר למה שאתה הולך לתכנת? נשמע מעניין.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 19:35.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ