کتاب Python Programming with Design Patterns یک منبع بسیار عالی و مناسب برای یادگیری زبان برنامهنویسی پایتون به همراه الگوهای طراحی در آن میباشد. این کتاب در 5 بخش از مقدمات تا نکات مهم و پیشرفتهی Design Patterns در زبان پایتون را بیان خواهد کرد.
در ادامه مقدمهای از کتاب Python Programming with Design Patterns را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Python Programming with Design Patterns:
پیشگفتار
زمانی که شروع به مطالعه پایتون کردم، تحت تأثیر کدنویسی ساده و شروع نوشتن برنامه های اولیه چقدر آسان بود. من چندین محیط توسعه را امتحان کردم و در همه موارد، توانستم برنامههای ساده را در چند لحظه اجرا کنم.
سینتکس پایتون ساده بود و هیچ براکت یا نقطه ویرگول برای به خاطر سپردن وجود نداشت. به غیر از به خاطر سپردن استفاده از کلید Tab (برای ایجاد آن تورفتگیهای چهار فضایی)، کدنویسی در پایتون آسان بود.
اما تنها پس از چند هفته بازی با پایتون بود که متوجه شدم زبان واقعاً چقدر پیچیده است و واقعاً چقدر میتوانید با آن انجام دهید. پایتون یک زبان کاملاً شیگرا است که ساخت کلاسهایی را آسان میکند که دادههای خود را بدون مشکلات نحوی (Syntax) زیادی نگهداری میکنند.
در واقع، من شروع به نوشتن برنامههایی کردم که سالها پیش در جاوا نوشته بودم، و از اینکه چقدر در پایتون سادهتر بودند، شگفتزده شدم. و با IDE های قدرتمند، مرتکب اشتباهات بسیار سخت بود.
وقتی فهمیدم چقدر میتوانم به سرعت در پایتون کار کنم، همچنین متوجه شدم که زمان آن رسیده است که کتابی در مورد برنامههای قدرتمندی که میتوانید در پایتون بنویسید بنویسم. این منجر به نوشتن نسخههای جدید، تمیز و قابل خواندن من از 23 الگوی طراحی کلاسیک شد که در ابتدا چند سال قبل کدگذاری کرده بودم.
نتیجه کتاب Python Programming with Design Patterns است که مبانی برنامهنویسی شیگرا، برنامهنویسی بصری و نحوه استفاده از همه الگوهای کلاسیک را نشان میدهد. میتوانید کد کار کامل برای همه این برنامهها را در GitHub در https://github.com/jwcnmr/jameswcooper/tree/main/Pythonpatterns پیدا کنید.
این کتاب برای کمک به برنامهنویسان پایتون طراحی شده است تا دانش خود را در مورد برنامهنویسی شیگرا (OOP) و الگوهای طراحی همراه آن گسترش دهند.
اگر در پایتون تازه کار هستید اما در زبانهای دیگر تجربه دارید، میتوانید با مرور فصل 31 تا فصل 35 و سپس شروع مجدد از فصل 1، هزینه را از قبل شروع کنید.
اگر در پایتون باتجربه هستید اما میخواهید در مورد OOP و الگوهای طراحی بیاموزید، از فصل 1 شروع کنید. اگر دوست دارید، میتوانید فصل 2 و فصل 3 را نادیده بگیرید و بقیه کتاب را ادامه دهید.
اگر به طور کلی در برنامهنویسی تازه کار هستید، مدتی را صرف مرور فصل 31 تا 35 کنید تا برخی از برنامه ها را امتحان کنید. سپس از فصل 1 شروع کنید تا با OOP و الگوهای طراحی آشنا شوید.
احتمالاً متوجه خواهید شد که پایتون ساده ترین زبانی است که تا به حال یاد گرفته اید و همچنین بی دردسرترین زبان برای نوشتن اشیایی است که در الگوهای طراحی استفاده میکنید. خواهید دید که آنها برای چه هستند و چگونه از آنها در کار خود استفاده کنید.
در هر صورت، روشهای برنامهنویسی شیگرا ارائه شده در این صفحات میتواند به شما در نوشتن کد برنامه بهتر و قابل استفاده مجدد کمک کند.
سازمان کتاب
کتاب Python Programming with Design Patterns در پنج بخش تنظیم شده است.
بخش اول، “مقدمه”
الگوهای طراحی اساساً چگونگی تعامل مؤثر اشیاء را توصیف میکنند.
این کتاب با معرفی اشیاء در فصل 1، “مقدمهای بر اشیاء” و ارائه مثالهای گرافیکی که به وضوح نحوه عملکرد الگوها را نشان میدهد، شروع میشود.
فصل 2 کتاب Python Programming with Design Patterns، “برنامهنویسی بصری در پایتون” و فصل 3، “برنامهنویسی بصری جداول داده”، کتابخانه tkinter Python را معرفی میکند، که راهی برای ایجاد پنجرهها، دکمهها، لیستها، جداول و موارد دیگر با کمترین پیچیدگی در اختیار شما قرار میدهد.
فصل 4، “الگوهای طراحی چیست؟”، بحث در مورد الگوهای طراحی را با بررسی دقیق آنها آغاز میکند.
بخش دوم، «الگوهای خلاقانه»
بخش دوم کتاب Python Programming with Design Patterns با تشریح اولین گروه از الگوهایی که “گروه چهار” آنها را الگوهای خلاقانه نامگذاری کردند، شروع میشود.
فصل 5، “الگوی کارخانه”، الگوی اصلی کارخانه را توصیف میکند، که به عنوان پایه ساده سه الگوی کارخانهای است که در ادامه میآید. در این فصل از کتاب Python Programming with Design Patterns، شما یک کلاس Factory ایجاد میکنید که بر اساس خود دادهها تصمیم میگیرد از کدام یک از چندین کلاس مرتبط استفاده کنید.
فصل 6 کتاب Python Programming with Design Patterns، “الگوی روش کارخانه”، روش کارخانه را بررسی میکند. در این الگو، هیچ کلاس واحدی تصمیم نمیگیرد که کدام زیر کلاس را نمونهسازی کند. در عوض، سوپرکلاس تصمیمگیری را به هر زیر کلاس موکول میکند.
فصل 7، “الگوی کارخانه انتزاعی”، الگوی کارخانه انتزاعی را مورد بحث قرار میدهد. شما میتوانید از این الگو زمانی استفاده کنید که میخواهید یکی از چندین کلاس مرتبط از شی را برگردانید، که هر کدام میتوانند چندین شی مختلف را در صورت درخواست برگردانند. به عبارت دیگر، Abstract Factory یک شی کارخانه است که یکی از چندین گروه از کلاسها را برمیگرداند.
فصل 8 کتاب Python Programming with Design Patterns، “الگوی Singleton”، به الگوی Singleton میپردازد، که کلاسی را توصیف میکند که در آن بیش از یک نمونه وجود ندارد. این یک نقطه جهانی واحد برای دسترسی به آن نمونه فراهم میکند. شما اغلب از این الگو استفاده نمیکنید، اما دانستن نحوه نوشتن آن مفید است.
در فصل 9، “الگوی سازنده”، میبینید که الگوی سازنده، ساخت یک شی پیچیده را از نمایش بصری آن جدا میکند، به طوری که بسته به نیاز برنامه میتوان چندین نمایش مختلف ایجاد کرد.
فصل 10 کتاب Python Programming with Design Patterns، «الگوی نمونه اولیه»، نحوه استفاده از الگوی نمونه اولیه را در هنگام ایجاد نمونهای از کلاس، زمانبر یا پیچیده نشان میدهد. به جای ایجاد نمونههای بیشتر، از نمونه اصلی کپی میکنید و آنها را در صورت لزوم اصلاح میکنید.
فصل 11، “خلاصهای از الگوهای خلاقیت”، فقط الگوهای قسمت دوم را خلاصه میکند.
بخش سوم، «الگوهای ساختاری»
بخش سوم کتاب Python Programming with Design Patterns با بحث کوتاهی در مورد الگوهای ساختاری آغاز میشود.
فصل 12، “الگوی آداپتور”، الگوی آداپتور را بررسی میکند، که برای تبدیل رابط برنامهنویسی یک کلاس به کلاس دیگر استفاده میشود. آداپتورها زمانی مفید هستند که بخواهید کلاسهای نامرتبط در یک برنامه با هم کار کنند.
فصل 13، «الگوی پل»، الگوی پل مشابهی را انتخاب میکند که برای جدا کردن رابط کلاس از پیادهسازی آن طراحی شده است. این به شما امکان میدهد بدون تغییر کد مشتری، پیاده سازی را تغییر دهید یا جایگزین کنید.
فصل 14، “الگوی ترکیبی”، به سیستم هایی میپردازد که در آن یک جزء ممکن است یک شی منفرد باشد یا ممکن است مجموعهای از اشیاء را نشان دهد. الگوی کامپوزیت برای تطبیق هر دو مورد، اغلب در ساختار درختی طراحی شده است.
در فصل 15، “الگوی دکوراتور”، ما به الگوی دکوراتور نگاه میکنیم، که راهی برای اصلاح رفتار اشیاء جداگانه بدون نیاز به ایجاد یک کلاس مشتق شده جدید ارائه میدهد. اگرچه این میتواند برای اشیاء بصری مانند دکمه ها اعمال شود، رایج ترین استفاده در پایتون ایجاد نوعی ماکرو است که رفتار یک نمونه کلاس را تغییر میدهد.
در فصل 16، “الگوی نما”، یاد میگیریم که از الگوی نما برای نوشتن یک رابط ساده برای کدنویسی استفاده کنیم که در غیر این صورت ممکن است بیش از حد پیچیده باشد. این فصل از کتاب Python Programming with Design Patterns به چنین رابطی برای چند پایگاه داده مختلف میپردازد.
فصل 17، “الگوی Flyweight”، الگوی Flyweight را توصیف میکند، که به شما امکان میدهد با جابجایی برخی از دادهها به خارج از کلاس، تعداد اشیاء را کاهش دهید. هنگامی که چندین نمونه از یک کلاس دارید، میتوانید این رویکرد را در نظر بگیرید.
فصل 18 کتاب Python Programming with Design Patterns، «الگوی پروکسی»، به الگوی پروکسی میپردازد، که زمانی استفاده میشود که شما نیاز دارید یک شی پیچیده یا زمانبر را با یک شی سادهتر نشان دهید. اگر ایجاد یک شی از نظر زمان یا منابع رایانهای گران است، پروکسی به شما امکان میدهد ایجاد را تا زمانی که به شی واقعی نیاز داشته باشید به تعویق بیندازید.
فصل 19، “خلاصهای از الگوهای ساختاری”، این الگوهای ساختاری را خلاصه میکند.
بخش چهارم، «الگوهای رفتاری»
بخش چهارم کتاب Python Programming with Design Patterns به تشریح الگوهای رفتاری میپردازد.
فصل 20، “الگوی زنجیره مسئولیت”، به این موضوع میپردازد که چگونه الگوی زنجیره مسئولیت اجازه جدا شدن بین اشیاء را با ارسال درخواست از یک شی به شی بعدی در یک زنجیره میدهد تا زمانی که درخواست شناسایی شود.
فصل 21، “الگوی فرمان”، نشان میدهد که چگونه الگوی فرمان از اشیاء ساده برای نشان دادن اجرای دستورات نرم افزار استفاده میکند. علاوه بر این، این الگو به شما امکان میدهد از عملیات ثبت و غیرقابل انجام پشتیبانی کنید.
فصل 22، “الگوی مترجم”، به الگوی مترجم نگاه میکند، که تعریفی از نحوه ایجاد یک زبان اجرایی کوچک و گنجاندن آن در یک برنامه ارائه میدهد.
در فصل 23، “الگوی Iterator”، الگوی شناخته شده Iterator را بررسی میکنیم، که روشهای رسمی را که میتوانید از طریق مجموعه ای از اقلام داده حرکت کنید، توضیح میدهد.
فصل 24 کتاب Python Programming with Design Patterns، “الگوی میانجی”، الگوی مهم میانجی را در بر میگیرد. این الگو مشخص میکند که چگونه میتوان ارتباط بین اشیاء را با استفاده از یک شی مجزا ساده کرد تا همه اشیا مجبور به دانستن یکدیگر نباشند.
فصل 25، “الگوی یادگاری”، وضعیت داخلی یک شی را ذخیره میکند، بنابراین میتوانید بعداً آن را بازیابی کنید.
در فصل 26، «الگوی مشاهدهگر»، به الگوی مشاهدهگر نگاه میکنیم، که شما را قادر میسازد تا روشی را تعریف کنید که تعدادی از اشیا میتوانند از تغییر در وضعیت برنامه مطلع شوند.
فصل 27، “الگوی حالت”، الگوی حالت را توصیف میکند، که به یک شی اجازه میدهد تا رفتار خود را هنگامی که حالت داخلی تغییر میکند، تغییر دهد.
فصل 28، “الگوی استراتژی”، الگوی استراتژی را توصیف میکند، که مانند الگوی حالت، به راحتی بین الگوریتم ها بدون هیچ گونه گزاره شرطی یکپارچه جابجا میشود. تفاوت بین الگوهای State و Strategy در این است که کاربر به طور کلی انتخاب میکند که کدام یک از چندین استراتژی را اعمال کند.
در فصل 29، “الگوی الگو”، ما به الگوی الگو نگاه میکنیم. این الگو ایده تعریف یک الگوریتم در یک کلاس را رسمی میکند اما برخی از جزئیات را برای پیاده سازی در زیر کلاسها باقی میگذارد. به عبارت دیگر، اگر کلاس پایه شما یک کلاس انتزاعی است، همانطور که اغلب در این الگوهای طراحی اتفاق میافتد، شما از یک فرم ساده از الگوی Template استفاده میکنید.
فصل 30 کتاب Python Programming with Design Patterns، «الگوی بازدیدکننده»، الگوی بازدیدکننده را بررسی میکند، که جداول مدل شیگرا را میچرخاند و یک کلاس خارجی برای عمل بر روی دادههای کلاسهای دیگر ایجاد میکند. این در صورتی مفید است که تعداد مناسبی از نمونههای تعداد کمی از کلاسها وجود داشته باشد و بخواهید عملیاتی را انجام دهید که شامل همه یا بیشتر آنها میشود.
بخش پنجم، “معرفی مختصر به پایتون”
در این بخش کتاب Python Programming with Design Patterns، خلاصهای مختصر از زبان پایتون ارائه میدهیم. اگر به طور گذرا با پایتون آشنایی دارید، این کار شما را به سرعت بالا میبرد. برای آموزش مبتدی نیز به اندازه کافی کامل است.
فصل 31 کتاب Python Programming with Design Patterns، «متغیرها و نحو در پایتون»، ما متغیرها و نحو اصلی پایتون را بررسی میکنیم، و در فصل 32، «تصمیمگیری در پایتون»، راههایی را که برنامههای شما میتوانند تصمیمگیری کنند، توضیح میدهیم.
در فصل 33 کتاب Python Programming with Design Patterns، «محیطهای توسعه»، خلاصهای از رایجترین محیطهای توسعه ارائه میکنیم، و در فصل 34، «مجموعهها و فایلهای پایتون»، آرایهها و فایلها را مورد بحث قرار میدهیم.
در نهایت در فصل 35، “توابع”، نحوه استفاده از توابع در پایتون را بررسی میکنیم.
از نوشتن الگوهای طراحی و یادگیری نکات و نکات زبان قدرتمند پایتون لذت ببرید!
بیشتر بخوانید: کتاب Python Unit Test Automation
سرفصلهای کتاب Python Programming with Design Patterns:
I: Introduction
1 Introduction to Objects
2 Visual Programming in Python
3 Visual Programming of Tables of Data
4 What Are Design Patterns?
II: Creational Patterns
5 The Factory Pattern
6 The Factory Method Pattern
7 The Abstract Factory Pattern
8 The Singleton Pattern
9 The Builder Pattern
10 The Prototype Pattern
11 Summary of Creational Patterns
III: Structural Patterns
12 The Adapter Pattern
13 The Bridge Pattern
14 The Composite Pattern
15 The Decorator Pattern
16 The Façade Pattern
17 The Flyweight Pattern
18 The Proxy Pattern
19 Summary of Structural Patterns
IV: Behavioral Patterns
20 Chain of Responsibility Pattern
21 The Command Pattern
22 The Interpreter Pattern
23 The Iterator Pattern
24 The Mediator Pattern
25 The Memento Pattern
26 The Observer Pattern
27 The State Pattern
28 The Strategy Pattern
29 The Template Pattern
30 The Visitor Pattern
V: A Brief Introduction to Python
31 Variables and Syntax in Python
32 Making Decisions in Python
33 Development Environments
34 Python Collections and Files
35 Functions
A Running Python programs
Index
فایل کتاب Python Programming with Design Patterns را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.