2013-04-29 57 views
0

我想申请一个工厂模式创建的请求豆协议栈上使用。现在请求豆保持与其它性能的豆 - 这也应该是工厂模式的一部分(因为它们取决于在堆栈上是不同的)。工厂模式和复杂的豆

喜欢的东西:

public interface Factory { 
    public Request createRequest(); 
} 

public interface Request { 
    public Details getDetails(); 
    public void setDetails(Details details); 
    .. 
} 

public interface Details { 
    public String getSource(); 
    public void setSource(String s); 
    .. 
} 

我第一次尝试是添加工厂方法Details为好,但这很快就变成一个危险 - 尤其是传递一些参数的工厂。

此外,setter变得有点奇怪,因为他们实际上抛出ClassCastException如果您要通过其他工厂的“详细”实施。

的主要原因是我的情况是,我坐在我想以适应在我自己的bean接口一个相当复杂的第三方请求/响应/堆栈实现。有没有更合理的方法来做到这一点?

+0

请注明您希望我们帮助解答 – gerrytan 2013-04-29 13:09:30

+0

看什么的问题提出质疑,似乎只有自己知道所涉及的图书馆和其他信息的细节,以解决此问题。 – techuser 2013-04-30 03:51:43

回答

0

你可能看到更多的进入你的设计要求:哪一个有更多不同的变体或实现。把它变成工厂,离开另一个工厂。在这种情况下,它看起来对我来说是细节可以使用工厂来创建。 (如果要求没有太大的许多不同的方式来实现。)