در این مطلب، ویدئو نحوه پیاده سازی الگوی طراحی Singleton در پایتون (آموزش تمام 23 الگوی طراحی Gang of Four) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:03:04
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:08,320 –> 00:00:09,840
در این سخنرانی با
2
00:00:09,840 –> 00:00:11,200
الگوی طراحی سینگلتون آشنا خواهیم شد
3
00:00:11,200 –> 00:00:13,360
و نحوه پیاده سازی آن در پایتون
4
00:00:13,360 –> 00:00:15,839
یک
5
00:00:15,839 –> 00:00:17,600
6
00:00:17,600 –> 00:00:18,800
7
00:00:18,800 –> 00:00:20,880
8
00:00:20,880 –> 00:00:22,160
9
00:00:22,160 –> 00:00:24,080
الگوی طراحی خلاقانه است. الگوی زمانی که
10
00:00:24,080 –> 00:00:25,519
ما یک کلاس در برنامه خود داریم که
11
00:00:25,519 –> 00:00:26,880
باید فقط یک نمونه واحد
12
00:00:26,880 –> 00:00:28,400
در دسترس همه مشتریان باشد
13
00:00:28,400 –> 00:00:30,320
و زمانی که به کنترل دقیق تری بر روی متغیرهای جهانی نیاز داریم،
14
00:00:30,320 –> 00:00:32,079
15
00:00:32,079 –> 00:00:33,760
اجازه دهید به مزایا و معایب استفاده
16
00:00:33,760 –> 00:00:35,760
از الگوی طراحی تکی نگاه کنیم
17
00:00:35,760 –> 00:00:37,520
مزایای این الگو این است که می
18
00:00:37,520 –> 00:00:39,280
توانید مطمئن شوید که کلاس فقط یک نمونه واحد دارد،
19
00:00:39,280 –> 00:00:40,320
20
00:00:40,320 –> 00:00:42,239
شما می توانید یک نقطه دسترسی سراسری به آن نمونه به دست آورید
21
00:00:42,239 –> 00:00:44,320
و singleton تنها
22
00:00:44,320 –> 00:00:46,160
زمانی مقداردهی اولیه می شود که برای
23
00:00:46,160 –> 00:00:47,440
اولین بار درخواست شود
24
00:00:47,440 –> 00:00:49,280
، نقاط ضعف این الگو این است که
25
00:00:49,280 –> 00:00:51,199
26
00:00:51,199 –> 00:00:52,000
اصل مسئولیت واحد را نقض
27
00:00:52,000 –> 00:00:54,239
می کند می تواند طراحی بد را پنهان کند و با
28
00:00:54,239 –> 00:00:55,920
چند رشته ای باید مطمئن شویم
29
00:00:55,920 –> 00:00:57,600
که نخ ها چندین بار شی را ایجاد نمی کنند
30
00:00:57,600 –> 00:00:58,000
31
00:00:58,000 –> 00:01:00,320
و ممکن است واحد کردن آن مشکل باشد.
32
00:01:00,320 –> 00:01:01,600
st the singleton
33
00:01:01,600 –> 00:01:02,800
بیایید نحوه پیادهسازی
34
00:01:02,800 –> 00:01:05,040
الگوی طراحی سینگلتون را در پایتون بیاموزیم
35
00:01:05,040 –> 00:01:06,799
، از کلمه کلیدی class استفاده
36
00:01:06,799 –> 00:01:08,080
میکنیم و کلاس خود را singleton
37
00:01:08,080 –> 00:01:09,840
در داخل این کلاس نام میگذاریم،
38
00:01:09,840 –> 00:01:11,360
متغیری به نام instance ایجاد
39
00:01:11,360 –> 00:01:13,840
میکنیم که مقدار اولیه آن هیچ است، سپس
40
00:01:13,840 –> 00:01:15,840
از ویژگی متد استاتیک استفاده میکنیم. و
41
00:01:15,840 –> 00:01:18,320
یک تابع به نام get instance
42
00:01:18,320 –> 00:01:20,000
در داخل این تابع تعریف می کنیم، بررسی می کنیم که
43
00:01:20,000 –> 00:01:22,000
آیا نمونه singleton هیچ است
44
00:01:22,000 –> 00:01:24,799
یا خیر، اگر چنین است، یک شی singleton ایجاد می کنیم،
45
00:01:24,799 –> 00:01:25,200
سپس
46
00:01:25,200 –> 00:01:26,960
خارج از دستور if،
47
00:01:26,960 –> 00:01:28,960
singleton.instance را برمی گردانیم،
48
00:01:28,960 –> 00:01:30,720
سپس متد init را برای singleton خود تعریف می کنیم.
49
00:01:30,720 –> 00:01:32,079
که
50
00:01:32,079 –> 00:01:33,520
پارامتر self را می گیرد
51
00:01:33,520 –> 00:01:35,520
اگر نمونه singleton