我有两个功能:myFunctionA()
和myFunctionB()
.
myFunctionA()
返回一个Object
包含Page_Type
具有字符串值的键的值。
myFunctionB()
处理Object
返回的多个条目myFunctionA()
,包括Page_Type
及其字符串值。
稍后,myFunctionA()
它被更新,因此它不再返回包含键的对象Page_Type
,而是返回包含Page_Types
数组值的键。
因此,myFunctionB()
现在也需要更新——它将不再处理Page_Type
哪个是字符串,而是Page_Types
哪个是数组。
如果我理解正确(我可能没有),以上是依赖请求的一个示例,并且可以通过(我认为)部署依赖注入模式(甚至可能是服务定位器模式)来避免它引发的大量重构?)反而 (??)
但是,尽管阅读了这个主题,我仍然不确定依赖注入如何在 PHP 或 Javascript 函数中工作(大部分解释涉及编程语言C++
和 OOP 概念Classes
,而我正在处理 PHP 中的第三方函数和javascript)。
有什么方法可以构造我的代码,以便更新myFunctionA()
(以任何重要方式)不需要我也更新myFunctionB()
(以及所有其他调用的函数myFunctionA()
- 例如myFunctionC()
,myFunctionD()
等myFunctionE()
)?
如果myFunctionH()
需要myFunctionG()
需要myFunctionF()
哪个需要myFunctionA()
呢?我不希望myFunctionA()
现在更新意味着另外三个函数(F
和G
)H
都必须更新。
目前我能想到的最佳答案——这可能不是最佳实践答案,因为我还不知道是否存在与我在上述问题中描述的问题相对应的正式问题——是以下重述我如何展示设置:
我有两个(不可变的)函数:
myFunctionA__v1_0()
和myFunctionB__v1_0()
.
myFunctionA__v1_0()
返回一个对象,其中包括Page_Type
具有字符串值的键。
myFunctionB__v1_0()
处理由 返回的 Object 中的许多条目myFunctionA__v1_0()
,包括Page_Type
及其字符串值。后来,
myFunctionA__v1_0()
仍然存在,但也成功了,myFunctionA__v2_0()
它返回一个包含键的对象Page_Types
- 它具有一个数组值。为了
myFunctionB
访问由返回的对象myFunctionA__v2_0()
,现在还需要一个myFunctionB__v1_1()
能够处理数组的对象Page_Types
。
这可以概括为:
myFunctionB__v1_0()
需要由返回的对象myFunctionA__v1_0()
myFunctionB__v1_1()
需要由返回的对象myFunctionA__v2_0()
由于每个函数在正式命名后都变得不可变,所以永远不会发生的是我们最终得到了一个myFunctionB__v1_0()
要求返回的对象的示例myFunctionA__v2_0()
。
我不知道我是否以正确的方式接近这个,但这是迄今为止我想出的最好的方法。
有只小跳蛙
DIEA
动漫人物
梦里花落0921