gpt4 book ai didi

c# - 与 future 的 API 解耦——初学者发现需要依赖注入(inject)

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:50 28 4
gpt4 key购买 nike

我有一个关于 OOP 设计模式的幼稚问题。这是过度架构,但我需要一个建议,而不是判断。假设您有一个由“业务需求”决定的类层次结构。所以,你有一个更深层次的版本 Pizza : Freight , Flowers : Freight和一个 TonOfBricks : Freight你有一个 IDispatchService<F> where F : Freight和一个 IDeliveryService<F> where F : Freight .

现在假设不同的IDeliveryService实现需要有关运费的不同信息。他们想要的与您的类层次结构不平行,并且您不知道您将在一个月内使用哪种送货服务(即 API)来运送哪种包裹。此外,您可能有足够的信息通过真空管发送一个比萨饼,但可能不会发送下一个。

现在您意识到您也可以雇人用旱冰鞋运送比萨饼,但您需要指定以这种方式运送的每个物体的质心,否则保险会要了您的命。您是否将其实现为 IDeliveryService<Pizza> ?是不是还要加新接口(interface)IHasCenterOfMass并可能实现为 IDeliveryService<IHasCenterOfMass> ?如果是这样,调度员会喜欢它吗?您是否正在为质心添加与数据库的关系?

最佳答案

如果兔子洞只会创建您永远不会使用的代码,请计划您所知道的事情。如果您知道 3 种可以很好地实现 IDeliveryService 的交付服务,那么您可能能够制作一个通用接口(interface),但您可能会发现它可能不适合您将来的需要。

关于c# - 与 future 的 API 解耦——初学者发现需要依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406539/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com