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

dev-main 2026-01-31 08:23 UTC

This package is not auto-updated.

Last update: 2026-02-04 05:58:26 UTC


README

Tests PHPStan Level 9 License: MIT

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