PHP 设计模式系列 —— 规格模式(Specification)

Specification-Design-Pattern-Uml

1、模式定义 规格模式(Specification)可以认为是组合模式的一种扩展。有时项目中某些条件决定了业务逻辑,这些条件就可以抽离出来以某种关系(与、或、非)进行组合,从而灵活地对业务逻辑进行定制。另外,在查询、过滤等应用场合中,通过预定义多个条件,然后使用这些条件的组合来处理查询或过滤,而不是使用逻辑判断语句来处理,可以简化整个实现逻辑。 这里的每个条件就是一个规格,多个规格/条件…

PHP 设计模式系列 —— 组合模式(Composite)

composite-design-pattern

1、模式定义 组合模式(Composite Pattern)有时候又叫做部分-整体模式,用于将对象组合成树形结构以表示“部分-整体”的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性。 常见使用场景:如树形菜单、文件夹菜单、部门组织架构图等。 2、UML类图 3、示例代码 FormElement.php <?php namespace DesignPatterns\S…