Design Patterns – Making a Choice

When a software application development project is taken up, it is essentially thought of as a problem that requires a solution. When we start to develop the application, we start developing a solution specific to the given problem. Eventually, this solution may start getting reused in problems of a similar kind, and becomes a standard solution for solving such problems. As time passes, we see that a lot of problems that display the same pattern. Once we modify our standard solution to work on this observed pattern, we come up with a design pattern. Design patterns are no joke; they take years to produce, after being tried and tested for solving a great number of problems with a similar pattern.

The design patterns not only define the way in which we architect our software application, they also provide knowledge about what worked and what did not, while trying to solve a particular type of problem. There are times when no particular design pattern might suit the needs of a particular application and the developers are left with no choice but to come up with something unique.

Are there some existing standard design patterns that can be used for a particular type of problem? How can we decide which design pattern to use for our problem? Can we deflect from a particular design pattern and use them while working on our solution? We will try to answer these questions as we progress through the chapter.

By the end of this chapter, you will know about the following:

  • Design patterns and their classification
  • The object-oriented nature of Python, and how we can use it to implement some common design patterns
  • Use cases where a particular pattern may be used

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.249.42