kanel/specification
Composer 安装命令:
composer require kanel/specification
包简介
An implementation of the Specification design pattern
README 文档
README
Specification design pattern
Implementation of the "Specification" design pattern.
The Goal of this pattern is to have separate classes of logic in order to do condition composition without rewriting and maintaining the conditions at different places.
How to
All the classes should extend Kanel/Specification (abstract class)
$isAvailable = new isProductAvailable();
$isShippable = new isProductShippable();
$isOnSale = new isProductOnSale();
Then perform a composition of specification
$specification = $isAvailable->and($isOnSale)->xor($isShippable);
if ($specification->isSatisfiedBy($product)) {
}
Available operators :
- and
- or
- xor
- not
If you look for another implementation of the specification design pattern look at kanel/specifications2
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-07-13