你能帮我找到解决问题的方法吗?
我有一个代表实体的类(我将其命名为"entity")我想根据不同的标准动态地向我的实体添加方法。
例如:如果是$_POST['TYPE'] == 'typeA'
,我想添加以下方法:
- method1 ()
- method2 ()
- method3 ()
- method4 ()
如果$_POST['MODE'] == 'modeA'
,我想添加以下方法:
- method5 ()
- method6 ()
- method7 ()
问题是会有很多可能的方法,如果我把它们都添加到我的类中,我担心我的类会变得太大。我还想避免每次出现新情况时都编辑我的类。
我最初想过按案例分类,但我有太多的案例(大约5个标准,每个标准有6或7个可能的不同值),所以大约有50或60个不同的案例。
那么,最好的解决方案是什么呢?我应该添加所有可能的方法到我的类吗?
我应该使用继承和创建所有可能的类型的对象(Type1Mode1Entity, Type1Mode2Entity,…)?
你知道这样做的设计模式(装饰器)吗?
本为用通用方法扩展抽象类的用例创建单独的类,然后使用工厂DP加载所需的类