【发布时间】:2015-08-25 09:12:02
【问题描述】:
您能帮我找到解决问题的方法吗?
我有一个代表实体的类(我将其称为“实体”) 我想根据不同的标准为我的实体动态添加方法。
例如:
如果$_POST['TYPE'] == 'typeA',我想添加以下方法:
- 方法1()
- 方法2()
- 方法3()
- 方法4()
如果$_POST['MODE'] == 'modeA',我想添加以下方法:
- 方法5()
- 方法6()
- 方法7()
问题是会有很多可能的方法,如果我将它们全部添加到我的班级,我担心我的班级会变得太大。我还想避免每次出现新情况时都编辑我的课程。
我最初考虑按案例分类,但我有太多案例(大约 5 个标准,每个标准有 6 或 7 个可能的不同值),所以总共大约有 50 或 60 个不同的案例。
那么最好的解决方案是什么?
我应该在我的类中添加所有可能的方法吗?
我应该使用继承并创建所有可能类型的对象(Type1Mode1Entity、Type1Mode2Entity、...)吗?
你知道一种设计模式(装饰器吗?)来做到这一点?
本
【问题讨论】:
标签: php oop design-patterns