- عنوان کتاب: Software Design for Python Programmers
- نویسنده: Ronald Mak
- حوزه: برنامهنویسی پایتون
- سال انتشار: 2025
- تعداد صفحه: 715
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 16.0 مگابایت
از شما بابت خرید MEAP کتاب من، طراحی نرمافزار برای برنامهنویسان پایتون، متشکرم. وقتی این دوره را به دانشجویان دانشگاهم تدریس میکنم، به آنها میگویم که هدف این است که تا پایان ترم، همه آنها برنامهنویسان بسیار بهتری شوند. من هم همین هدف را برای کتابم میخواهم؛ تا پایان آن، شما یک برنامهنویس بسیار بهتر خواهید شد. شما باید همان «پیشنیازهای دوره» را داشته باشید – دانش اولیه برنامهنویسی شیگرا در پایتون. مثالهای کتاب از پایتون ۳.۱۲ استفاده میکنند، اما من سعی کردم مطمئن شوم که تکنیکهای طراحی میتوانند در نسخههای قبلی زبان یا هر زبان شیگرای مدرن دیگری نیز اعمال شوند. اجرای هر برنامه نمونه در خط فرمان ساده است. چگونه میتوانید یک برنامهنویس بهتر شوید؟ نکته کلیدی، طراحی خوب نرمافزار است. من اصول طراحی و الگوهای طراحی را تدریس میکنم. نمونههایی از اصول طراحی شامل مسئولیت واحد، کپسولهسازی، تفویض اختیار و کد به رابط کاربری است. اعمال این اصول، کد شما را هنگام حل مشکلات برنامهنویسی رایج که هنگام توسعه یک برنامه با آنها مواجه میشوید، بهبود میبخشد. الگوهای طراحی در سطح بالاتری از طراحی نرمافزار وجود دارند، اما مبتنی بر اصول طراحی هستند. الگوهای طراحی، مانند الگوی ناظر و الگوی بازدیدکننده، راهحلهای اثباتشده در صنعت برای مشکلات رایج معماری نرمافزار هستند که میتوانید آنها را برای برنامههای خود تطبیق دهید. نرمافزاری که به خوبی طراحی شده باشد، کاری را که قرار است انجام دهد، انجام میدهد و انعطافپذیر، قابل اعتماد، قابل نگهداری و با هزینه و زمان کمتر است. بهترین راه برای آموزش و یادگیری، استفاده از مثالها است. کتاب من شامل مثالهای برنامهنویسی «قبل» و «بعد» زیادی است. من ابتدا یک مثال با طراحی ضعیف را نشان میدهم و کاستیهای آن را کشف میکنیم. سپس یک نسخه «بعد» را نشان میدهم که از یک اصل طراحی یا یک الگوی طراحی استفاده میکند و مزایای طراحی بهتر را برجسته میکند. من نمودارهای زیادی را برای نشان دادن طرحهای خوب و بد رسم کردهام. دانشجویان اغلب در کلاسهای من سؤال میپرسند و من سعی کردهام رایجترین آنها را با مکالمات پرسش و پاسخ خیالی که در سراسر متن پراکنده شدهاند، ثبت کنم. من تکنیکهای عملی را آموزش میدهم و نه مطالب نظری انتزاعی را. علاوه بر تدریس موفقیتآمیز این دوره در سطح دانشگاه، تجربه من شامل دههها توسعه نرمافزار در صنعت و تحقیقات علمی است. من دانشمند ارشد ناسا و JPL بودم که در آنجا نرمافزاری را برای مریخنوردها و فضاپیمای اوریون طراحی و توسعه دادم. من همچنین در IBM Research و آزمایشگاه ملی لارنس لیورمور سمتهای تحقیق و توسعه داشتم. در دوران حرفهای قبلیام، توسعهدهنده ارشد نرمافزار و مدیر مهندسی در شرکتهای مختلف سیلیکون ولی مانند اپل و سان میکروسیستمز بودم. من همیشه به طراحی نرمافزار خوب علاقه داشتهام و امیدوارم این علاقه در نوشتن کتابم نیز مشهود باشد.
Thank you for purchasing the MEAP of my book, Software Design for Python Programmers. When I teach this course to my university students, I tell them the goal is that by the end of the semester, they’ll all be much better programmers. I want the same goal for my book; by the end of it, you’ll be a much better programmer. You should have the same “course prerequisites” — basic knowledge of object-oriented programming in Python. The book’s examples use Python 3.12, but I tried to ensure that the design techniques can apply to earlier versions of the language or to any other modern object-oriented language. Each example program is simple to run on the command line. How do you become a better programmer? The key is good software design. I teach design principles and design patterns. Examples of design principles include Single Responsibility, Encapsulation, Delegation, and Code to the Interface. Applying these principles will improve your code when you’re solving common programming problems that you encounter as you develop an application. Design patterns exist at a higher plane of software design, but they are based on the design principles. Design patterns, such as the Observer Pattern and the Visitor Pattern, are industryproven solutions to common software architecture problems that you can adapt for your applications. Well-designed software does what it’s supposed to do and is flexible, reliable, maintainable, and costs less time and money. The best way to teach and to learn is through examples. My book contains many “before” and “after” programming examples. I first show a poorly design example and we discover its shortcomings. Then I show an “after” version that uses a design principle or a design pattern and highlight the benefits of the better design. I drew many diagrams to illustrate the good and bad designs. Students often ask questions in my classes, and I’ve tried to capture the most common ones with imagined Q and A conversations interspersed throughout the text. I teach practical techniques and not abstract theoretical material. Besides teaching this course successfully at the university level, my experience includes decades of software development in both industry and scientific research. I was a senior scientist at NASA and JPL where I designed and developed software for the Mars rovers and the Orion spacecraft. I also had research and development positions at IBM Research and the Lawrence Livermore National Laboratory. In my earlier career, I was a senior software developer and engineering manager at various Silicon Valley companies such as Apple and Sun Microsystems. I have always been passionate about good software design, and I hope that shows in my book writing.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Software Design for Python Programmers

نظرات کاربران