Want to define a class? That’s fairly easy. Want to define a number of classes that communicate effectively? That’s harder — but some of those communication patterns have been standardized, and are known as “design patterns.” Learning them will help you to see these patterns when they arise, to implement classes that take these well-known ideas into account, and to communicate ideas better with other software engineers.
In this course, we’ll talk about the history and ideas behind design patterns, and why you should care about them as a Python coder. But then we’ll dive into several well-known patterns. For each one, we’ll discuss what problems the pattern tries to solve, how it solves it using traditional design pattern techniques, and how we might go about implementing this pattern in Python. The course includes a number of practice exercises, all aimed at giving you hands-on experience with some well-known patterns.
If you’ve long heard about design patterns, but aren’t really use what they are or how they’re relevant to your work, this class will answer your questions, as well as give you a chance to define and use them.
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
4. Lesson Name Goes Here
5. Lesson Name Goes Here
6. Lesson Name Goes Here
7. Lesson Name Goes Here
8. Lesson Name Goes Here
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvina amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Lorem ipsum dolor sit amet, consectetur elit. Ut elit tellus, luctus nec.
Reuven is a full-time Python trainer. In a given year, he teaches courses at companies in the United States, Europe, Israel, India, and China — as well as to people around the world, via his online courses.
Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.
In 2020, Reuven published “Python Workout,” a collection of Python exercises with extensive explanations, published by Manning. He’s currently finishing edits on “Pandas Workout,” a similar collection of exercises using the “Pandas” library for data analytics.
Reuven’s free, weekly “Better developers” newsletter, about Python and software engineering, is read by more than 30,000 developers around the globe. His “Trainer weekly” newsletter is popular among people who give corporate training.
Reuven’s most recent venture is Bamboo Weekly: Every Wednesday, he presents a problem based on current events, using a public data set. And every Thursday, he shared detailed solutions to those problems using Pandas.
Reuven’s monthly column appeared in Linux Journal from 1996 until the magazine’s demise in 2019. He was also a panelist on both the Business of Freelancing and Freelancers Show podcasts.
Reuven has a bachelor’s degree in computer science and engineering from MIT, and a PhD in learning sciences from Northwestern University. He lives in Modi’in, Israel with his wife and three children.
I’m a one-person company; ask me questions at reuven@lernerpython.com , and I’ll answer you personally.
I send a full-length Python article to more than 30,000 people each week — on topics ranging from iterators to descriptors, variable assignment to sets, exceptions to command-line arguments. Join me, and get smarter about Python each week!