Index
A
- Abstract Factory pattern
- about / Understanding the Factory pattern, The Abstract Factory pattern
- implementing / Implementing the Abstract Factory pattern
- versus Factory method pattern / The Factory method versus Abstract Factory method
- abstraction
- features / Abstraction
- about / Abstraction
- Adapter pattern
- AntiPattern
- causes / Reinventing the wheel
- consequences / Reinventing the wheel
- AntiPatterns
- defining / An introduction to AntiPatterns
- results / An introduction to AntiPatterns
- benefits / An introduction to AntiPatterns
- categories / An introduction to AntiPatterns
- aspects, object-oriented programming
- encapsulation / Encapsulation
- polymorphism / Polymorphism
- inheritance / Inheritance
- abstraction / Abstraction
- composition / Composition
B
- bad design
- Immobile / An introduction to AntiPatterns
- Rigid / An introduction to AntiPatterns
- Fragile / An introduction to AntiPatterns
- Viscose / An introduction to AntiPatterns
- Behavioral patterns
- properties / Behavioral patterns
- Bridge pattern
C
- classes
- about / Classes
- client
- about / Client
- Command design pattern
- defining / Understanding the Command design pattern
- Command pattern
- defining / Introducing the Command pattern
- UML class diagram / A UML class diagram for the Command pattern
- implementing / Implementing the Command pattern in the real world
- design considerations / Design considerations
- Redo or rollback operations / Design considerations
- asynchronous task execution / Design considerations
- advantages / Advantages and disadvantages of Command patterns
- disadvantages / Advantages and disadvantages of Command patterns
- composition
- about / Composition
- compound patterns
- context, design patterns
- participants / Context – the applicability of design patterns
- non-functional requirements / Context – the applicability of design patterns
- trade-offs / Context – the applicability of design patterns
- results / Context – the applicability of design patterns
- copy-and-paste or cut-and-paste programming
- defining / Copy-and-paste or cut-and-paste programming
- causes / Copy-and-paste or cut-and-paste programming
- consequences / Copy-and-paste or cut-and-paste programming
- core concepts, object-oriented programming
- Creational patterns
- properties / Creational patterns:
D
- Decorator pattern
- design by committee
- causes / Design by committee
- symptoms / Design by committee
- design patterns
- about / The concept of design patterns
- features / The concept of design patterns
- advantages / Advantages of design patterns
- taxonomy / Taxonomy of design patterns
- applicability / Context – the applicability of design patterns
- classifying / Classifying patterns
- Creational patterns / Creational patterns:
- Structural patterns / Structural patterns
- Behavioral patterns / Behavioral patterns
- dynamic languages
- patterns / Patterns for dynamic languages
E
- encapsulation
- about / Encapsulation
- features / Encapsulation
- examples, Structural design patterns
- Adapter pattern / Understanding Structural design patterns
- Bridge pattern / Understanding Structural design patterns
- Decorator pattern / Understanding Structural design patterns
F
- factory
- advantages / Understanding the Factory pattern
- Factory method pattern
- about / Understanding the Factory pattern, The Factory Method pattern
- implementing / Implementing the Factory Method
- advantages / Advantages of the Factory method pattern
- versus Abstract Factory pattern / The Factory method versus Abstract Factory method
- Factory pattern
- about / Understanding the Factory pattern
- Simple Factory pattern / Understanding the Factory pattern, The Simple Factory pattern
- Factory method pattern / Understanding the Factory pattern, The Factory Method pattern
- Abstract Factory pattern / Understanding the Factory pattern, The Abstract Factory pattern
- façade
- about / Façade
- Façade design pattern
- about / Understanding the Façade design pattern
- implementing, in real world / Implementing the Façade pattern in the real world
- Façade pattern
- and Proxy pattern, comparing / Comparing the Façade and Proxy patterns
- frequently asked questions
G
- GoF (Gang of Four)
- about / The concept of design patterns
- Golden Hammer
- causes / Golden Hammer
- consequences / Golden Hammer
H
- handlers
- Hollywood principle
I
- inheritance
- about / Inheritance
- interface segregation principle
- about / The interface segregation principle
- advantages / The interface segregation principle
- inversion of control principle
- about / The inversion of control principle
- advantages / The inversion of control principle
L
- Lava Flow
- Loose coupling
- loose coupling architecture
M
- metaclasses
- about / Singletons and metaclasses
- methods
- about / Methods
- Model-View-Controller pattern
- defining / The Model-View-Controller pattern, The MVC pattern in the real world
- working / The Model-View-Controller pattern
- Model / Model – knowledge of the application
- View / View – the appearance
- Controller / Controller – the glue
- UML class diagram / A UML class diagram for the MVC design pattern
- design considerations / The MVC pattern in the real world
- benefits / Benefits of the MVC pattern
- module-level Singletons
- defining / Module-level Singletons
- modules
- defining / Modules
- Monostate Singleton pattern
- defining / The Monostate Singleton pattern
- MTV (Model, Template, View)
O
- object-oriented design principles
- about / Object-oriented design principles
- open/close principle / The open/close principle
- inversion of control principle / The inversion of control principle
- interface segregation principle / The interface segregation principle
- single responsibility principle / The single responsibility principle
- substitution principle / The substitution principle
- object-oriented programming
- about / Understanding object-oriented programming
- core concepts / Methods
- aspects / Major aspects of object-oriented programming
- objects
- about / Objects
- objects for states pattern
- Observer pattern
- about / Loose coupling and the Observer pattern
- advantages / The Observer pattern – advantages and disadvantages
- disadvantages / The Observer pattern – advantages and disadvantages
- Observer pattern methods
- pull model / The pull model
- push model / The push model
- open/close principle
- about / The open/close principle
- advantages / The open/close principle
P
- participants, State design pattern
- State / Understanding the State design pattern
- ConcreteState / Understanding the State design pattern
- Context / Understanding the State design pattern
- polymorphism
- about / Polymorphism
- features / Polymorphism
- principle of least knowledge
- about / The principle of least knowledge
- private keyword / Encapsulation
- protected keyword / Encapsulation
- Proxy design pattern
- defining / Understanding the Proxy design pattern
- UML class diagram / A UML class diagram for the Proxy pattern
- Proxy pattern
- using / Understanding the Proxy design pattern
- defining / The Proxy pattern in the real world
- advantages / Advantages of the Proxy pattern
- and Façade pattern, comparing / Comparing the Façade and Proxy patterns
- Proxy types
- defining / Understanding different types of Proxies
- virtual proxy / A virtual proxy
- remote proxy / A remote proxy
- protective proxy / A protective proxy
- smart proxy / A smart proxy
- public keyword / Encapsulation
- pull model / The pull model
- push model / The push model
- Python
- about / Patterns for dynamic languages
S
- Simple Factory pattern
- single responsibility principle
- about / The single responsibility principle
- advantges / The single responsibility principle
- Singleton design pattern
- classical singleton, implementing in Python / Implementing a classical Singleton in Python
- lazy instantiation / Lazy instantiation in the Singleton pattern
- Singleton pattern
- part 1, defining / A real-world scenario – the Singleton pattern, part 1
- part 2, defining / A real-world scenario – the Singleton pattern, part 2
- drawbacks / Drawbacks of the Singleton pattern
- Singletons
- software architecture AntiPatterns
- about / Software architecture AntiPatterns
- wheel, reinventing / Reinventing the wheel
- vendor lock-in / Vendor lock-in
- design by committee / Design by committee
- software development AntiPatterns
- defining / Software development AntiPatterns
- spaghetti code / Spaghetti code
- Golden Hammer / Golden Hammer
- Lava Flow / Lava Flow
- copy-and-paste or cut-and-paste programming / Copy-and-paste or cut-and-paste programming
- Software Development Life Cycle (SDLC) / The concept of design patterns
- Spaghetti code
- causes / Spaghetti code
- State design pattern
- defining / Defining the State design pattern
- working / Understanding the State design pattern
- defining, with UML diagram / Understanding the State design pattern with a UML diagram
- example / A simple example of the State design pattern
- with v3.5 implementation / The State design pattern with v3.5 implementation
- advantages / Advantages/disadvantages of the State pattern
- disadvantages / Advantages/disadvantages of the State pattern
- stock trading system
- implementing / Design considerations
- Structural design patterns
- Structural patterns
- properties / Structural patterns
- substitution principle
- about / The substitution principle
- system
- about / System
T
- taxonomy, design patterns
- snippet / Taxonomy of design patterns
- design / Taxonomy of design patterns
- standard / Taxonomy of design patterns
- pattern / Taxonomy of design patterns
- Template Method
- Template Method design pattern
- Template Method pattern
- defining / Defining the Template Method pattern, The Template Method pattern in the real world
- using / Defining the Template Method pattern
- UML class diagram / A UML class diagram for the Template Method pattern
- about / The Template Method pattern in the real world, The Hollywood principle and the Template Method
- design considerations / The Template Method pattern in the real world
- hook, defining / The Template Method pattern – hooks
- advantages / The advantages and disadvantages of the Template Method pattern
- disadvantages / The advantages and disadvantages of the Template Method pattern
- Tornado web application framework
U
- UML class diagram
- about / A UML class diagram
- façade / A UML class diagram, Façade
- system / A UML class diagram, System
- client / A UML class diagram, Client
V
- vendor lock-in
- causes / Vendor lock-in
- consequences / Vendor lock-in