Professional Documents
Culture Documents
Elias Fofanov
http://engineerspock.com
Outline
• Waterfall
- Try to foresee all the possible details
• Agile
- Iterative development process with high involvement of a customer
Next Video
Related Patterns
OCP-Related Patterns
OCP-Related Patterns
• Template Method
• Strategy
Template Method Definition
Corollaries:
• An interface is suppler from the client’s perspective: any class can
implement as many interfaces as it wants to
• An interface is more rigid from the developer’s perspective: it can’t be
easily changed and it does not support any kind of reusability
Abstract Classes
• Supports reusability
• Supports encapsulation
• Can be extended easily without breaking existing clients
Corollaries:
• An abstract class is supple from the developer’s perspective
• An abstract class is rigid from the client’s perspective
Interfaces VS Abstract Classes
Corollaries:
• An abstract class is supple from the developer’s perspective
• An abstract class is rigid from the client’s perspective
Visitor Pattern
Common Smells