syeedalireza / design-patterns-benchmark
Academic research package providing comprehensive performance analysis and complexity metrics for all 23 Gang of Four (GoF) design patterns in PHP
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/syeedalireza/design-patterns-benchmark
Requires
- php: ^8.2
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.48
- pdepend/pdepend: ^2.16
- phpbench/phpbench: ^1.2
- phploc/phploc: ^7.0
- phpmetrics/phpmetrics: ^2.8
- phpstan/phpstan: ^1.10
- phpstan/phpstan-strict-rules: ^1.5
- phpunit/phpunit: ^11.0
- sebastian/complexity: ^3.2
- squizlabs/php_codesniffer: ^3.8
- symfony/var-dumper: ^7.0
- vimeo/psalm: ^5.22
This package is not auto-updated.
Last update: 2026-02-04 05:58:26 UTC
README
Academic research package providing comprehensive performance analysis and complexity metrics for all 23 Gang of Four (GoF) design patterns in PHP.
Features
- ✅ 23 GoF Patterns - Complete implementation
- ✅ Performance Benchmarks - Detailed metrics
- ✅ Complexity Analysis - Cyclomatic complexity
- ✅ Memory Profiling - Resource usage
- ✅ PHPStan Level 9 - Strict type checking
- ✅ Comprehensive Tests - 90%+ coverage
Design Patterns Included
Creational Patterns
- Singleton
- Factory Method
- Abstract Factory
- Builder
- Prototype
Structural Patterns
- Adapter
- Decorator
- Facade
- Composite
- Proxy
- Bridge
- Flyweight
Behavioral Patterns
- Observer
- Strategy
- Command
- Iterator
- State
- Template Method
- Chain of Responsibility
- Mediator
- Memento
- Visitor
- Interpreter
Installation
composer require --dev syeedalireza/design-patterns-benchmark
Quick Start
Run Benchmarks
use DesignPatternsBenchmark\Benchmarks\PatternBenchmark;
$benchmark = new PatternBenchmark();
$results = $benchmark->comparePatterns(iterations: 1000);
foreach ($results as $result) {
echo "{$result['pattern']}: {$result['time_ms']}ms\n";
}
Example Results
Pattern | Time (ms) | Memory (KB) | Complexity
----------------|-----------|-------------|------------
Singleton | 0.15 | 1.2 | O(1)
Factory | 2.50 | 8.5 | O(n)
Observer | 5.20 | 15.3 | O(n²)
Testing
composer test
composer analyse
composer benchmark
License
MIT - See LICENSE.md
Author
Alireza Aminzadeh
- GitHub: @syeedalireza
- Packagist: syeedalireza