Infosec addicts (1)

Python Design Patterns

Python Design Patterns


What Is A Design Pattern?

A design pattern is a means to which a developer uses patterns more often to create software or web applications. it could also be defined simply as a common way of solving well-known problems.

Design pattern could be traced to the Gang of Four(GOF)try to do a quick search on who the Gang of Four(GOF) really are by clicking here.

Why Python?

Remember, Python is a high-level language with dynamic binding and typing. it is powerful and many developers love and use python. Python is an object-oriented language(because everything in python is an object). its syntax is clear and it is well-structured packages, modules and also, python flexibility is so enormous.

Well, any programming language is good for patterns. There are certain limitations that come from other language syntax and nature(functional, dynamic, object-oriented and so on). These limitations are what gives patterns existence and limitations like this make patterns purposeful.

Python is a dynamic language and this fits perfectly to the limitations listed above. Other language doesn’t stand a chance when it comes to the dynamic nature of python because it is just to easy to implement.

python design patterns

Course Outline

The Python Design Patterns course outline goes thus:

  • Introduction to Design Patterns
  • Classification of Design Patterns
    • Creational Design Patterns
    • Structural Design Patterns
    • Behavioural Design Patterns
  • Creational Design Patterns
    • Factory Method
    • Abstract Factory Method
    • Builder Method
    • Prototype Method
    • Singleton Method
  • Structural Design Patterns
    • Adapter Method
    • Bridge Method
    • Composite Method
    • Decorator Method
    • Facade Method
    • Proxy Method
    • FlyWeight Method
  • Behavioural Design Patterns
    • Chain of Responsibility Method
    • Command Method
    • Iterator Method
    • Mediator Method
    • Memento Method
    • Observer Method
    • State Method
    • Strategy Method
    • Template Method
    • Visitor Method