1
00:00:00,000 --> 00:00:04,480
[

2
00:00:04,480 --> 00:00:09,994
MUSIC] في تطوير الويب، غالبًا ما تسمع أشخاصًا يتحدثون عن إطار MVC

3
00:00:09,994 --> 00:00:13,020
وإطار MVVM وما إلى ذلك.

4
00:00:13,020 --> 00:00:14,460
ما هي هذه الأطر بالضبط؟

5
00:00:15,560 --> 00:00:20,050
كيف تكون مفيدة في تطوير الويب؟

6
00:00:20,050 --> 00:00:22,257
دعونا نتحدث عن ذلك لفترة وجيزة المقبل.

7
00:00:24,177 --> 00:00:26,688
في عالم هندسة البرمجيات،

8
00:00:26,688 --> 00:00:31,140
كثيرا ما تسمع الناس يتحدثون عن أنماط التصميم.

9
00:00:31,140 --> 00:00:37,470
ما يعنيه بالضبط هو التوقف عن إعادة اختراع العجلة في كل مرة.

10
00:00:37,470 --> 00:00:43,880
نمط التصميم هو حل موثق بشكل جيد لمشكلة متكررة.

11
00:00:43,880 --> 00:00:48,540
في كثير من الأحيان، ترى نفسك مرارا وتكرارا حل مشاكل مماثلة.

12
00:00:48,540 --> 00:00:53,860
إذا كان لدينا وثائق محددة بشكل جيد لكيفية حل هذه المشاكل،

13
00:00:53,860 --> 00:00:56,720
لماذا الاستمرار في إعادة اختراع العجلة في كل مرة؟

14
00:00:56,720 --> 00:00:59,140
هذا هو المكان الذي

15
00:00:59,140 --> 00:01:03,220
ينشأ فيه مفهوم نمط تصميم هندسة البرمجيات.

16
00:01:03,220 --> 00:01:08,420
في بعض الأحيان ترى أيضًا أشخاصًا يشيرون إلى هذا كنمط معماري.

17
00:01:08,420 --> 00:01:13,094
لذلك لتلخيص، أنماط تصميم البرمجيات على وجه الخصوص هي

18
00:01:13,094 --> 00:01:17,706
حل قابل لإعادة الاستخدام للمشاكل التي تحدث عادة والتي يتم حلها في البرمجيات.

19
00:01:17,706 --> 00:01:22,209
الآن في هذا السياق، كثيرا ما تسمع الناس يتحدثون عن عصابة من أربعة.

20
00:01:23,830 --> 00:01:29,217
كانت هذه مجموعة من أربعة مؤلفين كتبوا هذا الكتاب الأساسي المسمى

21
00:01:29,217 --> 00:01:35,390
أنماط التصميم: عناصر من البرامج الموجهة للكائنات القابلة لإعادة الاستخدام.

22
00:01:35,390 --> 00:01:39,500
في هذا الكتاب، حددوا مجموعة كبيرة من

23
00:01:39,500 --> 00:01:41,770
أنماط التصميم الشائعة الاستخدام في هندسة البرمجيات.

24
00:01:41,770 --> 00:01:48,030
وكان هذا واحدا من أول استكشاف موثق جيدا لأنماط التصميم،

25
00:01:48,030 --> 00:01:53,370
وبالتالي، أصبح المعيار الذهبي لأي شخص يعمل في

26
00:01:53,370 --> 00:01:58,410
هندسة البرمجيات، وخاصة قلق بشأن حزم التصميم.

27
00:01:58,410 --> 00:02:03,320
هذا النمط الهندسي البرمجيات تمكننا من عزل

28
00:02:03,320 --> 00:02:06,706
منطق المجال من واجهة المستخدم.

29
00:02:06,706 --> 00:02:11,827
لذلك كنت أساسا فصل وجهة نظر المستخدم من المعلومات

30
00:02:11,827 --> 00:02:17,146
من المنطق الفعلي وكيفية تخزين المعلومات والتلاعب بها.

31
00:02:17,146 --> 00:02:22,280
الآن هذا الفصل بين المخاوف مفهوم أنت ذاهب إلى أن تسمع

32
00:02:22,280 --> 00:02:25,600
مرارا وتكرارا في هذا السياق.

33
00:02:25,600 --> 00:02:30,290
فصل المخاوف هو ما يسهل التطوير المستقل

34
00:02:30,290 --> 00:02:34,700
لكل من هذه الأجزاء الثلاثة من تطبيقنا

35
00:02:34,700 --> 00:02:39,350
ويتيح أيضًا اختبار وصيانة هذه الأجزاء المختلفة.

36
00:02:39,350 --> 00:02:42,640
الآن يمكننا تقسيم التطبيق بأكمله إلى ثلاثة أجزاء،

37
00:02:42,640 --> 00:02:46,820
وجهة النظر التي تهتم في المقام الأول مع تقديم المعلومات للمستخدم،

38
00:02:46,820 --> 00:02:51,930
والنموذج الذي يخزن حالة المجال ومنطق المجال

39
00:02:51,930 --> 00:02:57,430
ويوفر أيضا وسيلة

40
00:02:57,430 --> 00:03:02,604
لمعالجة هذه الحالة من بقية التطبيق و

41
00:03:02,604 --> 00:03:08,180
وحدة التحكم التي تتوسط بين العرض والنموذج.

42
00:03:08,180 --> 00:03:12,550
سنتحدث عن كل من هذه الأجزاء الثلاثة بمزيد من التفصيل بعد ذلك.

43
00:03:12,550 --> 00:03:17,360
في إطار MVC، يدير النموذج سلوك

44
00:03:17,360 --> 00:03:19,760
وبيانات مجال التطبيق.

45
00:03:19,760 --> 00:03:25,433
ويستجيب النموذج لطلبات الحصول على معلومات حول حالته الحالية.

46
00:03:25,433 --> 00:03:30,374
لذلك عادة عندما يريد العرض العرض، أو يريد العرض تحديث

47
00:03:30,374 --> 00:03:35,065
نفسه، قد الاستعلام عن النموذج من أجل الحصول على المعلومات

48
00:03:35,065 --> 00:03:38,703
بحيث يمكن تقديمها بشكل مناسب للمستخدم.

49
00:03:38,703 --> 00:03:45,632
وسوف يستجيب النموذج أيضا لطلبات تغيير حالته.

50
00:03:45,632 --> 00:03:48,574
وعادة ما يتم ذلك من خلال السيطرة.

51
00:03:48,574 --> 00:03:51,712
في نظام يستند إلى الحدث،

52
00:03:51,712 --> 00:03:57,810
يمكن أيضًا تكوين النموذج لإعلام المراقبين.

53
00:03:57,810 --> 00:04:02,670
بحيث يمكن للمشاهدين تسجيل أنفسهم كمراقبين للنموذج، وهكذا

54
00:04:02,670 --> 00:04:06,940
عندما يتم تحديث النموذج، سيتم تشغيل المشاهدات تلقائيًا

55
00:04:06,940 --> 00:04:10,960
لتحديث أنفسهم استنادًا إلى التغيير في حالة النموذج هذه.

56
00:04:12,160 --> 00:04:17,290
الرأي نفسه هو قلق مع تقديم المعلومات للمستخدمين في

57
00:04:17,290 --> 00:04:23,690
عنصر واجهة المستخدم في مثل هذه الطريقة التي يسهل كل من عرض

58
00:04:23,690 --> 00:04:29,630
المعلومات للمستخدم وأيضا تمكن المستخدم من التفاعل مع التطبيق.

59
00:04:29,630 --> 00:04:33,970
لذلك قد يمثل العرض تمثيلاً واحدًا لحالة النموذج.

60
00:04:33,970 --> 00:04:38,662
لذلك، من نموذج واحد، يمكنك بسهولة اشتقاق طرق متعددة

61
00:04:38,662 --> 00:04:43,449
لتقديم هذه المعلومات للمستخدم، اعتمادا على سبيل

62
00:04:43,449 --> 00:04:47,051
المثال، اعتمادا على حجم إطار العرض.

63
00:04:47,051 --> 00:04:51,840
لذا، فإن إطار عرض صغير الحجم مثل تطبيق الهاتف المحمول،

64
00:04:51,840 --> 00:04:57,359
سيتم تقديم المعلومات بطريقة مختلفة بدلاً من

65
00:04:57,359 --> 00:05:03,000
منفذ عرض أكبر يتم تسهيله على جهاز كمبيوتر سطح المكتب.

66
00:05:04,248 --> 00:05:08,620
لذلك في إطار MVC، يحتوي عرض المعلومات على

67
00:05:08,620 --> 00:05:13,490
مراسلات واحدة إلى واحدة مع حالة النموذج.

68
00:05:15,850 --> 00:05:20,380
القطعة الثالثة من اللغز في إطار MCV هي وحدة تحكم.

69
00:05:21,400 --> 00:05:26,750
مهمة وحدة التحكم هي تلقي المعلومات من طريقة العرض.

70
00:05:26,750 --> 00:05:30,500
لذلك سيتم التقاط أي تفاعل المستخدم الذي يتم تنفيذه

71
00:05:30,500 --> 00:05:35,720
ثم تمريره إلى وحدة التحكم من أجل التصرف على تفاعلات المستخدم هذه.

72
00:05:35,720 --> 00:05:40,040
ومن مهمة وحدة تحكم ثم لبدء تغيير حالة

73
00:05:40,040 --> 00:05:46,870
النموذج، إذا كان مطلوبا في هذه الحالة بالذات.

74
00:05:46,870 --> 00:05:51,940
وبالتالي فإن وحدة التحكم سوف يسبب بشكل مناسب تغيير حالة النموذج.

75
00:05:51,940 --> 00:05:55,940
لذا للتلخيص، يمكن لوحدة التحكم قبول الإدخال

76
00:05:55,940 --> 00:06:00,860
من المستخدم من حيث تفاعلات المستخدم التي حدثت،

77
00:06:00,860 --> 00:06:06,935
ومن ثم ستقوم بإرشاد النموذج لتغيير الحالة.

78
00:06:06,935 --> 00:06:09,500
في نفس الوقت، قد

79
00:06:09,500 --> 00:06:14,470
يتسبب جهاز التحكم أيضًا في تغيير طريقة عرض المعلومات في طريقة العرض.

80
00:06:14,470 --> 00:06:19,230
لذلك هذا هو السبب في أن لديك في هذه الصورة اثنين من الأسهم

81
00:06:19,230 --> 00:06:24,000
الذهاب من وحدة تحكم، واحد نحو النموذج والآخر نحو وجهة النظر.

82
00:06:25,060 --> 00:06:29,910
في بعض الأحيان تسمع أشخاصًا يتحدثون عن طريقة عرض نموذج العرض.

83
00:06:29,910 --> 00:06:33,490
نهج عرض نموذج عرض نموذج هو، في بعض المعنى،

84
00:06:33,490 --> 00:06:37,050
مشتق من نهج وحدة تحكم عرض النموذج.

85
00:06:37,050 --> 00:06:40,620
في بعض الأحيان تسمع أيضًا أشخاصًا يشيرون إليها

86
00:06:40,620 --> 00:06:41,768
كنهج عرض نموذج الموثق.

87
00:06:41,768 --> 00:06:45,502
هنا، لديك النموذج الذي يمثل منطق الأعمال

88
00:06:45,502 --> 00:06:47,311
والبيانات للتطبيق الخاص بك.

89
00:06:47,311 --> 00:06:52,367
من النموذج، يمكنك اشتقاق نموذج عرض، الذي يغلف هذا

90
00:06:52,367 --> 00:06:58,095
الجزء من المعلومات المطلوبة لتقديم عرض معين.

91
00:06:58,095 --> 00:07:02,635
لذا فإن نموذج العرض هو تجريد العرض

92
00:07:02,635 --> 00:07:07,395
الذي يعرض الخصائص العامة والأوامر المختلفة المتوفرة.

93
00:07:07,395 --> 00:07:10,125
لذلك هذا يوفر ملزمة البيانات التعريفية.

94
00:07:11,690 --> 00:07:16,300
بمعنى ما، الطريقة التي

95
00:07:16,300 --> 00:07:21,520
يتم بها تنفيذ المكون والقوالب في الزاوي، يمكن النظر إليها

96
00:07:21,520 --> 00:07:27,250
كمتغير من طريقة عرض نموذج العرض.

97
00:07:27,250 --> 00:07:32,006
مع هذا الفهم السريع لمفك وإطار مففم،

98
00:07:32,006 --> 00:07:36,686
دعونا الآن المضي قدما في فهم المزيد عن الخدمات الزاوي.

99
00:07:36,686 --> 00:07:43,099
[ موسيقى]