2012-07-31 51 views
0

enter image description here排序设计在PHP

我设计该分类机构为我的网站为: 现在由于改变的要求,我需要增加一些变量,是所有战略即ByDate,ByConsuption,受需求。

此外,我需要修改排序字符串的基础上,函数 的输出,例如,如果可用的话,

  1. 按日期排序DESC =>排序可用DESC,日期降序
  2. 一个函数返回
  3. 排序按需求DESC =>排序可用递减,需求递减

问:

如果我有一些共同的变量/函数,我怎么能包含在一个点上,并且仍然可以在所有类中访问?

回答

0

我会使用SortStrategyBase或SortStrategyAbstract类,它将具有通用功能,然后让工厂注入所需的任何属性。所有SoryByWhateverStrategy类将扩展基础/摘要。

+0

那么你的意思是应该使用SortStrategyAbstract类而不是接口? – chicharito 2012-07-31 07:37:52

+1

您仍然可以同时拥有执行合同的界面和具有某些功能的摘要。我会保持接口,因为抽象确实会强制你至少有一些实现。然后抽象本身可以实现接口(如果它具有所有必需的方法),或者类可以扩展抽象并实现接口。 – Pinetree 2012-07-31 07:58:31