gpt4 book ai didi

oop - 哪个设计选项更适合用于编写框架?

转载 作者:行者123 更新时间:2023-12-04 07:06:31 26 4
gpt4 key购买 nike

我正在编写一个框架(在 Java 中,但问题是通用的),我将在其中提供一组接口(interface)供客户端实现。框架中的功能将依赖于如何构造实现类,也就是说,它们依赖于这些实现来提供其他接口(interface)实例。

例如我可能有:

Interface IContribution {
public IMyStuff getMyStuff();
public IHelper getHelper();
}

Interface IMyStuff {
public void doSomeMethod(IHelper helper);
}

如何确保 IMyStuff 和 IHelper 的这些实例可用?

一种方法是在接口(interface)中创建“getter”方法,并在我的框架中煞费苦心地检查返回的空对象。

另一种选择是创建实现工厂的抽象类,该工厂调用(使用策略模式)要实现的接口(interface)方法。但这违背了我首先拥有界面的事实。然后客户端应该使用抽象类。但是他们可以通过使用接口(interface)而不是抽象类来规避这一点。因此我不应该提供接口(interface)而只提供抽象类......

那么,您对此有何想法,对此采取务实的方法是什么?

最佳答案

How can I make sure that those instances of IMyStuff and IHelper are available?



如果客户自己负责实现接口(interface)和类,我会说确保这些实例可用是他们的责任——我不会担心将其放入我自己的代码中。

关于oop - 哪个设计选项更适合用于编写框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045863/

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