Overview
The course is designed for experienced programmers who want to explore issues related to the use of patterns and refactoring. Each participant know the properties and practical examples of the use of these patterns, which in turn will enable the efficient build correct the application code.
Requirements
Knowledge of PHP at the basic level or higher.
Course Outline
Introduction to Design Patterns
- What is a design pattern
- elements of pattern
- Advantages and disadvantages of using patterns
GoF Design Patterns
patterns creative
- Builder
- Factory (Abstract Factory, Factory Method)
- Prototype
- Singleton
structural patterns
- Delegator
- Interface
- Facade
- Composite
- Immutable
- Adapter
- Decorator
- Proxy
behavioral patterns
- Command
- Template method
- Observer
- Chain of responsibility (and Intercepting Filter)
- Observer (2 version)
- Strategy
Patterns of Enterprise Application Architecture Web
- MVC – Model View Controller
- HMVC, MVP
- Inversion of Control
- Dependency Injection Container
- Active Record
- The concept of entity and Repositories
- Decomposition of the system
- Examples of component-based Symfony 2 and Zend Framework 2
Refactoring
- Debt technology
- What is refactoring?
- Tools to support refactoring
- phpmd (Software metrics)
- phpcpd
- phpc
- Typical code requires refactoring
- Jenkins Continuous Integration Server