در این مطلب، ویدئو الگوهای طراحی در پایتون توسط پیتر اولریچ با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,880 –> 00:00:02,990
[موسیقی]
2
00:00:02,990 –> 00:00:05,839
که اگر آن را درست تلفظ کردم
3
00:00:05,839 –> 00:00:09,120
یک مرحله ای متشکرم از شما بسیار سپاسگزارم
4
00:00:09,120 –> 00:00:10,309
[موسیقی]
5
00:00:10,309 –> 00:00:12,509
بسیار خوب صبح همگی بخیر است
6
00:00:12,509 –> 00:00:15,450
امیدوارم در
7
00:00:15,450 –> 00:00:17,490
میکروفون نفس نکشم اما صبح بخیر
8
00:00:17,490 –> 00:00:17,820
همه
9
00:00:17,820 –> 00:00:20,310
از اینکه من را در اختیار دارید بسیار متشکرم نام
10
00:00:20,310 –> 00:00:22,710
پیتر است، من یک دانشجوی کارشناسی ارشد علوم کامپیوتر
11
00:00:22,710 –> 00:00:24,779
از هلند هستم و تحصیلات من
12
00:00:24,779 –> 00:00:27,000
13
00:00:27,000 –> 00:00:29,160
در سال گذشته روی طراحی نرم افزار و معماری متمرکز بود
14
00:00:29,160 –> 00:00:31,949
و به این موضوع بسیار علاقه مند شدم،
15
00:00:31,949 –> 00:00:34,110
زیرا به شما امکان می دهد از
16
00:00:34,110 –> 00:00:38,579
کدهای خام که نامشخص است عبور کنید. درست در
17
00:00:38,579 –> 00:00:40,739
جلوی صورت شما به عبارات انتزاعی تر
18
00:00:40,739 –> 00:00:43,440
، بنابراین در اینجا به عنوان مثال ما از
19
00:00:43,440 –> 00:00:46,079
UML بسیار آسان یا فقط یک
20
00:00:46,079 –> 00:00:48,660
مدل سازی بسیار استاندارد برای مدل سازی سیستمی استفاده می کنیم که دارای یک
21
00:00:48,660 –> 00:00:52,079
API است، یک مدل منطقی یک SDK و
22
00:00:52,079 –> 00:00:54,239
با دنیای خارج ارتباط برقرار می کند، بنابراین
23
00:00:54,239 –> 00:00:56,640
اگر کد خود را و شما آن را در
24
00:00:56,640 –> 00:00:58,230
چنین مدلی قرار می دهید، بلافاصله می بینید که
25
00:00:58,230 –> 00:01:00,359
سیستم شما چگونه کار می کند و
26
00:01:00,359 –> 00:01:03,320
از همه مهمتر
27
00:01:03,320 –> 00:01:06,180
معایب یا نقص های امنیتی را نیز خواهید
28
00:01:06,180 –> 00:01:08,790
دید و زمانی که بیشتر در سطح کد باشد، یک طراحی نرم افزاری وجود دارد.
29
00:01:08,790 –> 00:01:10,799
d سپس شما معماری نرم افزاری دارید
30
00:01:10,799 –> 00:01:12,750
که بیشتر در
31
00:01:12,750 –> 00:01:14,549
سطح ساختاری است، بنابراین می توانید به عنوان مثال
32
00:01:14,549 –> 00:01:17,520
مدل کنید که چند سرویس api
33
00:01:17,520 –> 00:01:18,990
برای آن داریم که بین بار تعادل
34
00:01:18,990 –> 00:01:21,540
دارید و چگونه به
35
00:01:21,540 –> 00:01:22,950
پایگاه داده و این چیزها وصل می شوید،
36
00:01:22,950 –> 00:01:25,020
بنابراین چگونه است. شما کل سیستم خود را بیشتر مدل می کنید،
37
00:01:25,020 –> 00:01:29,100
بنابراین این دو موضوع
38
00:01:29,100 –> 00:01:31,770
برای من بسیار مهم شد و می
39
00:01:31,770 –> 00:01:33,570
خواهم تاریخچه بسیار کوتاهی از
40
00:01:33,570 –> 00:01:36,060
الگوهای طراحی طراحی نرم افزار به شما ارائه دهم، یعنی
41
00:01:36,060 –> 00:01:39,780
طراحی نرم افزار از
42
00:01:39,780 –> 00:01:41,790
مهندسی نرم افزار واقعی نشات نگرفته است، بلکه
43
00:01:41,790 –> 00:01:44,189
از معماری دنیای واقعی واقعا
44
00:01:44,189 –> 00:01:46,649
ساختمان ها را می سازد و این مرد
45
00:01:46,649 –> 00:01:50,250
کریستوفر الکساندر او بود که می
46
00:01:50,250 –> 00:01:53,909
گفت بنیانگذار چیزی بود که
47
00:01:53,909 –> 00:01:56,670
در زبان الگو نامیده می شود بنابراین این
48
00:01:56,670 –> 00:02:00,210
کتاب را در سال 1977 نوشت و در واقع در این
49
00:02:00,210 –> 00:02:04,159
کتاب 253 الگوی طراحی را برای
50
00:02:04,159 –> 00:02:06,960
معماران دنیای واقعی پیشنهاد کرد. بنابراین وقتی
51
00:02:06,960 –> 00:02:08,669
میخواهید ساختمانی بسازید، لازم نیست
52
00:02:08,669 –> 00:02:10,340
چرخ را دوباره اختراع
53
00:02:10,340 –> 00:02:11,870
کنید، لازم نیست فکر کنید که آیا
54
00:02:11,870 –> 00:02:15,050
اتاق غذاخوری را در کنار آشپزخانه قرار میدهید یا
55
00:02:15,050 –> 00:02:16,370
کنار حمام.
56
00:02:16,370 –> 00:02:18,620
وقتی می خواهید به این فکر کنید که
57
00:02:18,620 –> 00:02:20,300
برای یک اتاق خاص به چه فضای داخلی نیاز دارید
58
00:02:20,300 –> 00:02:24,319
یا اینکه چه نوع سبک هایی
59
00:02:24,319 –> 00:02:26,840
با هم به خوبی با هم کار می کنند، از این قبیل چیزها فکر کنید. معمار کلمه واقعی
60
00:02:26,840 –> 00:02:28,549
می تواند به این کتاب برگردد و فقط به آن
61
00:02:28,549 –> 00:02:30,980
نگاهی بیندازید و الگوهای طراحی خود
62
00:02:30,980 –> 00:02:33,410
را از آن کتاب انتخاب کنید و این
63
00:02:33,410 –> 00:02:34,870
زبان الگو در واقع
64
00:02:34,870 –> 00:02:37,190
برای رشته های دیگر
65
00:02:37,190 –> 00:02:39,290
مانند مهندسی نرم افزار نیز بسیار جالب شد و این
66
00:02:39,290 –> 00:02:42,500
چهار نویسنده به آنها معروف
67
00:02:42,500 –> 00:02:43,280
شدند. Gang of Four
68
00:02:43,280 –> 00:02:45,200
اولین نویسندگان
69
00:02:45,200 –> 00:02:47,090
اولین افرادی در مهندسی نرم افزار بودند که
70
00:02:47,090 –> 00:02:50,000
از زبان طراحی در مهندسی نرم افزار استفاده کردند
71
00:02:50,000 –> 00:02:52,819
و این کتاب در سال
72
00:02:52,819 –> 00:02:55,640
1994 اولین نقطه عطف در کتاب چاه
73
00:02:55,640 –> 00:02:59,120
در این زمینه بود و در این کتاب
74
00:02:59,120 –> 00:03:01,129
23 الگوی طراحی مختلف را پیشنهاد کردند.
75
00:03:01,129 –> 00:03:02,989
و امروز هم استفاده
76
00:03:02,989 –> 00:03:05,959
میشوند و مستقل از زبان هستند، جایی
77
00:03:05,959 –> 00:03:07,519
که از پایتون یا چیز دیگری استفاده میکنند،
78
00:03:07,519 –> 00:03:09,470
شما همیشه بیشتر از این الگوهای طراحی استفاده میکنید،
79
00:03:09,470 –> 00:03:12,980
بیایید لیست را در واقع
80
00:03:12,980 –> 00:03:16,130
اکنون توسط افراد مختلف گسترش دادهایم،
81
00:03:16,130 –> 00:03:18,200
حدود چهل پنل طراحی است، اکنون
82
00:03:18,200 –> 00:03:19,609
میتوانید آنها را در ویکیپدیا پیدا کنید.
83
00:03:19,609 –> 00:03:22,760
میخواهید همه آنها را جستجو کنید، اما ممکن
84
00:03:22,760 –> 00:03:24,590
است در اینجا بپرسید که در واقع یک
85
00:03:24,590 –> 00:03:27,170
الگوی طراحی چیست، همه شما عمل میکنید
86
00:03:27,170 –> 00:03:28,790
بنابراین اجازه دهید من یک
87
00:03:28,790 –> 00:03:31,310
مثال عملی از الگوی پروکسی
88
00:03:31,310 –> 00:03:34,459
به شما ارائه دهم تا شما یک مشکل داشته باشید، بنابراین یک
89
00:03:34,459 –> 00:03:36,440
الگوی طراحی به طور کلی همیشه در مورد یک
90
00:03:36,440 –> 00:03:38,599
مشکل بسیار کلی است و آن مشکل را توضیح می دهد
91
00:03:38,599 –> 00:03:40,730
و سپس یک
92
00:03:40,730 –> 00:03:43,940
راه حل بسیار کلی برای آن مشکل ارائه می دهد.
93
00:03:43,940 –> 00:03:45,889
سپس می توانید یک نسخه سفارشی شده
94
00:03:45,889 –> 00:03:47,780
از آن الگو را در کد خود پیاده سازی کنید،
95
00:03:47,780 –> 00:03:50,840
مشکل ما این است که شما
96
00:03:50,840 –> 00:03:53,690
تصاویری با وضوح بالا در یک وب سایت دارید و
97
00:03:53,690 –> 00:03:56,480
چون وقتی مشتری به
98
00:03:56,480 –> 00:03:58,579
وب سایت شما می آید باید همه
99
00:03:58,579 –> 00:04:01,609
این تصاویر را یکجا بارگذاری کند. بنابراین شما زمان زیادی
100
00:04:01,609 –> 00:04:03,790
برای بارگذاری دارید، زمان زیادی طول می کشد
101
00:04:03,790 –> 00:04:06,319
و همچنین می خواهید بتوانید به این تصاویر استایل بدهید،
102
00:04:06,319 –> 00:04:09,410
بنابراین مشکل اساساً
103
00:04:09,410 –> 00:04:12,859
زمان بارگذاری طولانی است، بنابراین اگر
104
00:04:12,859 –> 00:04:15,049
به الگوی پروکسی نگاه کنید،
105
00:04:15,049 –> 00:04:16,519
راه حل ارائه شده این است که شما به سادگی
106
00:04:16,519 –> 00:04:20,139
این تصاویر را با متغیرهایی جایگزین
107
00:04:20,139 –> 00:04:22,300
میکنید و هر زمان که میتوانید
108
00:04:22,300 –> 00:04:24,520
این مکانها را به سبک بازی کنید و سپس هر زمان که
109
00:04:24,520 –> 00:04:26,830
کاربری به آن قسمت از وبسایت
110
00:04:26,830 –> 00:04:29,050
شما میآید، آنها را به صورت پویا بارگذاری میکنید تا
111
00:04:29,050 –> 00:04:31,090
همه را دانلود کنید. تصاویر وب در
112
00:04:31,090 –> 00:04:33,610
ابتدا، اما پس از آن با گذشت زمان، زمانی که
113
00:04:33,610 –> 00:04:36,219
آنها از هر نیازی استفاده می کنند
114
00:04:36,219 –> 00:04:40,240
، تصویر را بارگیری می کنید و اگر کمی به آن نگاه کنید، اگر در UML به آن نگاه کنید، به این صورت است که
115
00:04:40,240 –> 00:04:43,270
116
00:04:43,270 –> 00:04:44,770
یک الگوی پروکسی را پیاده سازی می کنید،
117
00:04:44,770 –> 00:04:48,580
بنابراین یک پروکسی تصویر بیایید فکر کنیم
118
00:04:48,580 –> 00:04:52,330
ببینیم آیا این تصویر هر دو یک
119
00:04:52,330 –> 00:04:54,370
پروکسی تصویر هستند و یک تصویر واقعی،
120
00:04:54,370 –> 00:04:56,169
پراکسی تصویر CSS را نگه میدارد و یک
121
00:04:56,169 –> 00:04:57,939
اتصال به تصویر واقعی که
122
00:04:57,939 –> 00:05:00,639
مانند یک مسیر فایل یا چیز دیگری
123
00:05:00,639 –> 00:05:03,610
یک ul به تصویر واقعی است. یک
124
00:05:03,610 –> 00:05:05,469
مثال زمانی که می
125
00:05:05,469 –> 00:05:07,990
خواهید الگوی پراکسی را در کد خود پیاده سازی
126
00:05:07,990 –> 00:05:09,490
کنید، در واقع متفاوت به نظر می رسد، اما
127
00:05:09,490 –> 00:05:11,169
به طور کلی چگونه این کار را انجام می دهید
128
00:05:11,169 –> 00:05:16,710
، بنابراین یک الگوی طراحی است، اکنون
129
00:05:16,710 –> 00:05:19,029
اجازه می دهیم یک مثال کوچک از اینکه چگونه
130
00:05:19,029 –> 00:05:21,219
می توانید در واقع به شما ارائه دهم. از الگوهای طراحی استفاده کنید و
131
00:05:21,219 –> 00:05:23,560
من یک داستان کمیک کوچک در این باره
132
00:05:23,560 –> 00:05:26,289
ساختم و امیدوارم خوشتان بیاید، بنابراین این ارباب شیطان است
133
00:05:26,289 –> 00:05:30,520
و همچنین ارباب شیطانی او
134
00:05:30,520 –> 00:05:32,080
بدیهی است که می خواهد دنیا را تسخیر کند
135
00:05:32,080 –> 00:05:34,120
او می خواهد همه چیز را کنترل کند و همه چیز را کنترل کند.
136
00:05:34,120 –> 00:05:35,800
جلوی
137
00:05:35,800 –> 00:05:36,879
گوشیهای هوشمندشان و به نوعی
138
00:05:36,879 –> 00:05:38,740
توسط گوشیهای هوشمند کنترل میشوند، بنابراین اگر من
139
00:05:38,740 –> 00:05:40,270
فقط گوشیهای هوشمند را کنترل کنم، میتوانم دنیا را
140
00:05:40,270 –> 00:05:42,399
کنترل کنم، بنابراین او به سراغ
141
00:05:42,399 –> 00:05:44,139
مینیون اسباببازیهای کوچکش در سیاهچالش میرود
142
00:05:44,139 –> 00:05:46,719
و میگوید سه بهروزرسانی ایجاد کن که
143
00:05:46,719 –> 00:05:48,729
به من حق شبه میدهد. بیش از کاربران آیفون
144
00:05:48,729 –> 00:05:50,979
چون میخواهد از آنجا شروع کند و
145
00:05:50,979 –> 00:05:53,139
مینیون به وضوح اطاعت میکند که
146
00:05:53,139 –> 00:05:55,779
بهروزرسانیهایی را که برای کاربران آیفون میرود دریافت میکند، او
147
00:05:55,779 –> 00:05:57,719
را مجبور میکند آپدیت مخرب خود را بهروزرسانی کند،
148
00:05:57,719 –> 00:06:01,710
اما وقتی کاربران آیفون آن را دریافت کردند،
149
00:06:01,710 –> 00:06:04,149
کاربران اندروید ظاهر میشوند و آنها
150
00:06:04,149 –> 00:06:06,639
مانند این افراد هستند. کاربران بداخلاق آیفون با
151
00:06:06,639 –> 00:06:08,949
ویژگی های فانتزی و هرچیزی که ما هم
152
00:06:08,949 –> 00:06:11,969
می خواهیم که این آپدیت ها به ما آپدیت
153
00:06:11,969 –> 00:06:14,469
می دهند می گویند خوب انجام می دهم که
154
00:06:14,469 –> 00:06:16,899
به سیاه چال خود برگردد و از ما بخواهد یعنی خوب
155
00:06:16,899 –> 00:06:19,449
هفت آپدیت به من بدهید تا کاربران اندروید را کنترل کنم
156
00:06:19,449 –> 00:06:21,759
و مینی می گوید خوب
157
00:06:21,759 –> 00:06:23,680
، امروز منعکس شده است، اما همه ما می دانیم
158
00:06:23,680 –> 00:06:25,089
که برای عامل شما آنقدرها مهم
159
00:06:25,089 –> 00:06:27,780
نیست، بله، من درست متوجه آن خواهم
160
00:06:27,780 –> 00:06:30,300
161
00:06:30,300 –> 00:06:32,220
162
00:06:32,220 –> 00:06:34,050
شد. ناگهان آنها
163
00:06:34,050 –> 00:06:36,450
در یک فروشگاه کاربران ویندوزفون هستند و ما
164
00:06:36,450 –> 00:06:39,360
دوست داریم این
165
00:06:39,360 –> 00:06:42,240
به روز رسانی را برای Windows Phone نیز توسعه دهید و
166
00:06:42,240 –> 00:06:43,470
همه ما می دانیم که توسعه آن برای Windows Phone کمی سخت است.
167
00:06:43,470 –> 00:06:45,330
168
00:06:45,330 –> 00:06:50,250
یک ابد
169
00:06:50,250 –> 00:06:52,440
بعد بالاخره آپدیت را ایجاد کرد
170
00:06:52,440 –> 00:06:54,720
همه تقریباً مردهاند و افرادی که
171
00:06:54,720 –> 00:06:56,340
کاربران ویندوز فون هستند خوب هستند خیلی متشکرم.
172
00:06:56,340 –> 00:06:58,470
آنها بهروزرسانی را نصب
173
00:06:58,470 –> 00:07:03,419
میکنند خیلی خوب از بین رفتهاند. خیلی ممنون.
174
00:07:03,419 –> 00:07:05,669
175
00:07:05,669 –> 00:07:08,550
176
00:07:08,550 –> 00:07:10,860
Overlord او این آپدیت مخرب را
177
00:07:10,860 –> 00:07:13,800
روی همه گوشی ها دارد اما در
178
00:07:13,800 –> 00:07:17,190
واقع یک مشکل دارد زیرا می بینید که او
179
00:07:17,190 –> 00:07:18,720
سه گروه مختلف از مردم دارد و
180
00:07:18,720 –> 00:07:21,210
آنها به زبان های مختلف صحبت می کنند که مثلاً الوایی هستند
181
00:07:21,210 –> 00:07:23,580
– یا ماهی ها و انسان ها
182
00:07:23,580 –> 00:07:25,320
سوئدی صحبت می کنند و زبان او
183
00:07:25,320 –> 00:07:29,310
انگلیسی است. هر وقت بخواهد زنگ
184
00:07:29,310 –> 00:07:31,919
بزند وقتی میخواهد فرمانی بفرستد
185
00:07:31,919 –> 00:07:33,780
تا به یکی از این گروهها
186
00:07:33,780 –> 00:07:36,690
بگوید یا از کوتوله جن یا سوئدی استفاده کرده است
187
00:07:36,690 –> 00:07:38,760
و باید ابتدا آن را از
188
00:07:38,760 –> 00:07:40,650
E خود ترجمه کند. زبان انگلیسی بنابراین شما باید
189
00:07:40,650 –> 00:07:42,860
خیلی از شما را سفارشی کنید
190
00:07:42,860 –> 00:07:46,440
و او به کتاب گاما 4 خود
191
00:07:46,440 –> 00:07:48,750
نگاه می کند و الگوی طراحی آداپتور را می بیند که یوری
192
00:07:48,750 –> 00:07:50,340
به آن اجازه می دهد زیرا با الگوی آداپتور
193
00:07:50,340 –> 00:07:52,470
می توانید به سادگی
194
00:07:52,470 –> 00:07:55,160
کلاس و کلاس آداپتور دیگری را اضافه کنید. جلوی
195
00:07:55,160 –> 00:07:58,919
کلاس مینیون خود Jose و شما
196
00:07:58,919 –> 00:08:01,680
ترجمه را در آن کلاس آداپتور انجام خواهید داد، بنابراین
197
00:08:01,680 –> 00:08:03,450
فقط باید با شما تماس بگیرید، باید به
198
00:08:03,450 –> 00:08:07,080
عنوان یک فرمان منحصر به فرد که می توانید
199
00:08:07,080 –> 00:08:08,640
روی آداپتور فراخوانی کنید و آداپتور
200
00:08:08,640 –> 00:08:11,520
برای شما ترجمه می کند، من فقط نشان خواهم داد. شما
201
00:08:11,520 –> 00:08:13,919
چون من اولین سگ من هستم و
202
00:08:13,919 –> 00:08:15,450
از خیلی ها شنیدم
203
00:08:15,450 –> 00:08:18,090
که انجام یک دمو زنده چیز خوبی است، بله
204
00:08:18,090 –> 00:08:20,400
این ایده عالی است که برای لوسی ها کار می کند،
205
00:08:20,400 –> 00:08:23,669
بنابراین من این کلاس های نمونه را ایجاد کردم،
206
00:08:23,669 –> 00:08:26,039
امیدوارم بتوانید ببینید که برخی از آنها را دارید. مثل
207
00:08:26,039 –> 00:08:29,520
بعضی از کوتولهها و انسانها و همه
208
00:08:29,520 –> 00:08:31,380
آنها دستورات یکسانی
209
00:08:31,380 –> 00:08:33,510
دارند، در واقع از انگلیسی ترجمه شده
210
00:08:33,510 –> 00:08:36,000
211
00:08:36,000 –> 00:08:38,520
212
00:08:38,520 –> 00:08:41,460
213
00:08:41,460 –> 00:08:44,970
است. آن را به درستی و به نوعی
214
00:08:44,970 –> 00:08:46,500
می بینید که به نوعی یک فرمان است، اما
215
00:08:46,500 –> 00:08:48,930
شما نام های مختلفی برای آن دارید و کاری
216
00:08:48,930 –> 00:08:51,060
که می توانید انجام دهید این بود که کاری که ارباب
217
00:08:51,060 –> 00:08:53,400
می توانست انجام دهد، روی همه شما در
218
00:08:53,400 –> 00:08:55,200
مینیون ها تکرار کنید و سپس هر بار بررسی کنید
219
00:08:55,200 –> 00:08:57,390
که مشکلی نیست اگر یک جن
220
00:08:57,390 –> 00:08:59,280
باشد، اگر کوتوله باشد، این تابع را صدا می زنم
221
00:08:59,280 –> 00:09:00,810
، تابع دیگری را صدا می زنم، در غیر این صورت
222
00:09:00,810 –> 00:09:04,050
، تابع پیش فرض را صدا می
223
00:09:04,050 –> 00:09:06,480
زنم، اما منظورم این است که همه، فکر می کنم شما
224
00:09:06,480 –> 00:09:07,860
قبلاً مشکل را اینجا پیدا کرده اید، زیرا
225
00:09:07,860 –> 00:09:11,250
اگر هر گروه مینیون دیگری مانند L را اضافه کنید.
226
00:09:11,250 –> 00:09:14,880
ترولها و اورکها باید
227
00:09:14,880 –> 00:09:16,830
تعداد بیشتری و بیشتر از اینها را اگر دستورات دیگری ایجاد کنید
228
00:09:16,830 –> 00:09:18,390
و فقط
229
00:09:18,390 –> 00:09:19,950
طولانیتر میشود و کدگذاری سختی دارد که ما
230
00:09:19,950 –> 00:09:22,560
آن را دوست نداریم، بنابراین وقتی از الگوی آداپتور استفاده
231
00:09:22,560 –> 00:09:25,230
میکنیم، در واقع میتوانیم یک
232
00:09:25,230 –> 00:09:27,360
آداپتور برای هر یک از این گروهها ایجاد کنیم. بنابراین
233
00:09:27,360 –> 00:09:29,790
ما یک آداپتور rorf سازگار با جن و یک
234
00:09:29,790 –> 00:09:32,010
آداپتور انسانی داریم و همه آنها دوست دارند همه آنها
235
00:09:32,010 –> 00:09:33,990
کاملاً شبیه شما به نظر می رسند، فقط وقتی آنها
236
00:09:33,990 –> 00:09:35,460
را ایجاد می کنید یک شی مینیون را به دست
237
00:09:35,460 –> 00:09:37,350
می گیرید که می خواهید تطبیق دهید و
238
00:09:37,350 –> 00:09:39,780
همه آنها عملکرد یکسانی دارند. یک
239
00:09:39,780 –> 00:09:42,690
تابع call me است و الف به نام
240
00:09:42,690 –> 00:09:45,210
نولان و کوتوله این را صدا می کنند
241
00:09:45,210 –> 00:09:47,850
و انسان ها من را صدا می زنند بنابراین شما
242
00:09:47,850 –> 00:09:50,310
برای هر گروه یک آداپتور ایجاد می کنید اما
243
00:09:50,310 –> 00:09:53,610
دوباره کار می کند بله می توانید
244
00:09:53,610 –> 00:09:55,380
روی مینیون ها تکرار کنید و فقط باید یکی را فراخوانی کنید.
245
00:09:55,380 –> 00:09:58,140
تک تابع و آداپتور
246
00:09:58,140 –> 00:10:01,290
از شما مراقبت می کند و کار می کند، اما دوباره
247
00:10:01,290 –> 00:10:02,820
مشکل را می بینید هر زمان که می خواهیم
248
00:10:02,820 –> 00:10:04,710
گروه دیگری ایجاد کنیم، باید
249
00:10:04,710 –> 00:10:08,430
آداپتور دیگری نیز ایجاد کنید، پس چه می شود اگر ما
250
00:10:08,430 –> 00:10:11,220
فقط از یک کلاس آداپتور بسیار کلی
251
00:10:11,220 –> 00:10:13,230
برای هر مینیون استفاده کنیم و این کمی است. کمی
252
00:10:13,230 –> 00:10:14,550
پیچیده است، اما من شما را از طریق آن راهنمایی خواهم
253
00:10:14,550 –> 00:10:16,860
کرد، این فقط یک معنی است که
254
00:10:16,860 –> 00:10:18,240
مهم نیست که آیا در جهنم برای کوتوله هستید و
255
00:10:18,240 –> 00:10:21,360
همینطور است که شما یک شی شخصی و مینیون ایجاد می
256
00:10:21,360 –> 00:10:23,430
کنید و همچنین می گذرانید و چند
257
00:10:23,430 –> 00:10:25,980
روش اقتباس شده و می توانید هر
258
00:10:25,980 –> 00:10:27,930
چیزی را که می توانید بسازید. در هر روشی که میخواهید
259
00:10:27,930 –> 00:10:32,100
تطبیق دهید، بنابراین ما تابع wing make را
260
00:10:32,100 –> 00:10:34,680
داریم، به عنوان مثال، میتوانیم این را در اینجا تحویل دهیم و
261
00:10:34,680 –> 00:10:37,800
سپس شما فقط روی آنها تکرار میکنید و
262
00:10:37,800 –> 00:10:41,000
آن تابع را از شی واقعی دریافت
263
00:10:41,000 –> 00:10:45,300
میکنید و آن را روی آداپتور پیدا میکنید. یک
264
00:10:45,300 –> 00:10:48,420
شی کلاس با نوع جدید یک نام با
265
00:10:48,420 –> 00:10:50,250
یک کلید جدید، بنابراین شما تابع wing make را
266
00:10:50,250 –> 00:10:52,920
می گیرید و آن را روی
267
00:10:52,920 –> 00:10:53,840
آداپتور
268
00:10:53,840 –> 00:10:55,970
با یک نام جدید ثبت می کنید تا بتوانید آن را با یک نام جدید فراخوانی
269
00:10:55,970 –> 00:11:00,500
کنید و من این کار را در اینجا انجام می
270
00:11:00,500 –> 00:11:02,300
دهم. به عنوان مثال یک آداپتور مینیون
271
00:11:02,300 –> 00:11:05,330
برای یک جن بسازید و من می گویم که می خواهم
272
00:11:05,330 –> 00:11:07,640
یک تابع Call Me داشته باشم و این باید
273
00:11:07,640 –> 00:11:10,070
تابع non in روی شی elf باشد
274
00:11:10,070 –> 00:11:12,320
و من می توانم همین کار را برای trough
275
00:11:12,320 –> 00:11:15,110
و انسان ها انجام دهم و سپس می توانم به سادگی دوباره
276
00:11:15,110 –> 00:11:17,870
فقط روی آنها تکرار کنید و بگویید و
277
00:11:17,870 –> 00:11:20,750
تابع call me را فراخوانی کنید، اما یک چیز جالب دیگر
278
00:11:20,750 –> 00:11:23,780
در مورد این آداپتور این است که شما همچنان می توانید
279
00:11:23,780 –> 00:11:26,540
هر ویژگی
280
00:11:26,540 –> 00:11:28,610
هر متغیری را بر روی
281
00:11:28,610 –> 00:11:30,590
شی واقعی روی شی واقعی مینیون دریافت و
282
00:11:30,590 –> 00:11:33,380
تنظیم کنید و آن را تنظیم نکنید. روی آداپتور اما
283
00:11:33,380 –> 00:11:35,000
روی شی واقعی، بنابراین در یک زمان
284
00:11:35,000 –> 00:11:37,160
میتوانید آداپتور را جدا کنید و
285
00:11:37,160 –> 00:11:39,170
هنوز هم شیء را با تمام ویژگیها نگه دارید،
286
00:11:39,170 –> 00:11:41,420
بنابراین این همان کاری است
287
00:11:41,420 –> 00:11:44,990
که با get و set انجام میدهید، بنابراین این
288
00:11:44,990 –> 00:11:46,610
کد در واقع من فکر می کنم
289
00:11:46,610 –> 00:11:49,070
بعد از آن آنلاین خواهد شد، بنابراین شما فقط می توانید
290
00:11:49,070 –> 00:11:51,890
در خانه با آرامش به آن نگاه کنید، اما وقتی این را اجرا می کنیم،
291
00:11:51,890 –> 00:11:55,940
در واقع می بینیم که همه چیزهایی که شما به
292
00:11:55,940 –> 00:11:58,280
آنها خانه می گویند و انسان های
293
00:11:58,280 –> 00:12:01,460
کوتوله خانه را خانه می خوانند، خوب است و حالا من تست کردم خوب است
294
00:12:01,460 –> 00:12:03,920
، به نام روی آداپتور واقعی
295
00:12:03,920 –> 00:12:06,080
نگاه کردم و آن را بررسی کردم. با نامی که روی
296
00:12:06,080 –> 00:12:09,260
مینیون واقعی وجود دارد و سپس آن را تغییر میدهم،
297
00:12:09,260 –> 00:12:11,060
میبینید که همینطور است و سپس
298
00:12:11,060 –> 00:12:13,790
فقط نام آداپتورها را تغییر دادم و دوباره آن را بررسی کردم
299
00:12:13,790 –> 00:12:15,830
و میبینید که در آداپتور
300
00:12:15,830 –> 00:12:18,110
و همچنین روی شی مینیون، نامها
301
00:12:18,110 –> 00:12:22,520
تغییر کرده است، بنابراین این
302
00:12:22,520 –> 00:12:25,820
الگوی آداپتور و اربابان شرور ما خوشحال هستند
303
00:12:25,820 –> 00:12:27,650
زیرا او فقط یک عملکرد برای فراخوانی دارد،
304
00:12:27,650 –> 00:12:30,770
اما هنوز هم هر بار که می خواهد
305
00:12:30,770 –> 00:12:33,560
همه را به صورت فراخوانی فراخوانی کند، همه آن مینیون ها را احضار می کند،
306
00:12:33,560 –> 00:12:35,780
باید به ازای هر مینیونی که دارد یک تماس برقرار کند
307
00:12:35,780 –> 00:12:38,360
، بنابراین شما فقط روی آنها تکرار کنید و آن را
308
00:12:38,360 –> 00:12:41,840
فراخوانی کنید. بسیاری از توابع او فقط یک
309
00:12:41,840 –> 00:12:45,440
به روز رسانی می خواهد که همه آنها را فقط یک تابع حاکم کند
310
00:12:45,440 –> 00:12:48,110
و مینیون ها نیز پیچیده به نظر می
311
00:12:48,110 –> 00:12:49,820
رسند، اما من کاملاً مطمئن هستم که
312
00:12:49,820 –> 00:12:52,490
پوشه های الگوی طراحی وجود دارد و مینیون
313
00:12:52,490 –> 00:12:54,350
به خوبی آموزش دیده است زیرا
314
00:12:54,350 –> 00:12:56,930
الگوی مشاهده گر نما وجود دارد.
315
00:12:56,930 –> 00:12:58,700
الگوی ناظر cade احتمالاً همه
316
00:12:58,700 –> 00:13:01,280
شما قبل از اینکه با نام رابط گره بزنید، از آن استفاده کرده اید،
317
00:13:01,280 –> 00:13:03,860
بنابراین اگر ممکن است از یک API استفاده کنید
318
00:13:03,860 –> 00:13:06,110
که در واقع رابط است، این یک
319
00:13:06,110 –> 00:13:06,769
320
00:13:06,769 –> 00:13:10,069
الگوی طراحی نما است، بنابراین با یک
321
00:13:10,069 –> 00:13:11,660
الگوی طراحی نما می توانیم چیزی را در
322
00:13:11,660 –> 00:13:15,259
بین آن قرار دهیم که همه چیز را کنترل کند. تماس
323
00:13:15,259 –> 00:13:17,059
های ما برای ما است، بنابراین ما فقط باید یک تماس
324
00:13:17,059 –> 00:13:19,339
با نما برقرار کنیم و نما دوباره
325
00:13:19,339 –> 00:13:22,279
همه مینیون ها را صدا می کند، دوباره به شما نشان خواهم داد که چگونه به
326
00:13:22,279 –> 00:13:25,879
نظر می رسد و ما دوباره
327
00:13:25,879 –> 00:13:28,519
آداپتور خود را داریم و سپس من یک
328
00:13:28,519 –> 00:13:31,790
نما مینیون ایجاد کردم و من نیز ایجاد کردم. تابعی برای
329
00:13:31,790 –> 00:13:34,040
ایجاد همه مینیون ها برای تصاحب همه
330
00:13:34,040 –> 00:13:36,920
افراد و این همان چیز