sharkzt/fibonacci
Composer 安装命令:
composer require sharkzt/fibonacci
包简介
Fibonacci php classes implementation as singleton, strategy and adapter design patterns
关键字:
README 文档
README
Fibonacci php classes implementation as singleton, strategy and adapter design patterns
Installation
The recommended way to install bundle is through Composer:
$ composer require sharkzt/fibonacci
Usage Examples
Singleton
//get fibonacci series via class with recursion approach $fibonacciWithRecursion = new \Sharkzt\Fibonacci\Singleton\Fibonacci(11); return $fibonacciWithRecursion->getSeries(); //get fibonacci series via class with iteration approach $fibonacciWithIteration = new \Sharkzt\Fibonacci\Singleton\FibonacciIterator(11); $fibonacciWithIteration->initialize(); return $fibonacciWithIteration->getSeries();
Code above will return [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].
Adapter
//get fibonacci series via iterator adapter $fibonacciIteratorAdapter = new FibonacciIteratorAdapter(new FibonacciIterator()); $fibonacciIteratorAdapter ->setCount(11) ->initialize(); return $fibonacciIteratorAdapter->getSeries(); //get fibonacci series via recursion adapter $fibonacciIteratorAdapter = new FibonacciRecursionAdapter(new Fibonacci()); $fibonacciIteratorAdapter ->setCount(11) ->initialize(); return $fibonacciIteratorAdapter->getSeries();
This will return [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].
Strategy
//get fibonacci series with iteration strategy $fibonacciStrategy = new FibonacciStrategy(new Fibonacci(), new FibonacciIterator()); $fibonacciStrategy->setStrategy($fibonacciStrategy->iterationStrategy); $fibonacciStrategy ->setCount(11) ->initialize(); return $fibonacciStrategy->getSeries(); //get fibonacci series with recursion strategy $fibonacciStrategy = new FibonacciStrategy(new Fibonacci(), new FibonacciIterator()); $fibonacciStrategy->setStrategy($fibonacciStrategy->recursionStrategy); $fibonacciStrategy ->setCount(11) ->initialize(); return $fibonacciStrategy->getSeries();
Result is [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].
License
Fibonacci classes are released under the MIT License. See the bundled LICENSE file for details.
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-10-09