Java 工厂模式与复合豆
我试图应用工厂模式来创建用于协议栈的请求bean。现在请求bean与其他bean一起持有属性——这也应该是工厂模式的一部分(因为它们根据堆栈的不同而不同) 比如:Java 工厂模式与复合豆,java,design-patterns,factory,Java,Design Patterns,Factory,我试图应用工厂模式来创建用于协议栈的请求bean。现在请求bean与其他bean一起持有属性——这也应该是工厂模式的一部分(因为它们根据堆栈的不同而不同) 比如: public interface Factory { public Request createRequest(); } public interface Request { public Details getDetails(); public void setDetails(Details details); .
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);
..
}
我的第一次尝试是为详细信息添加工厂方法,但这很快就会成为一种危险-尤其是为工厂传递一些参数
另外,如果您要从另一个工厂传递“细节”实现,setter会变得有点奇怪,因为它们实际上抛出了一个ClassCastException
出现这种情况的主要原因是,我正在处理一个相当复杂的第三方请求/响应/堆栈实现,我希望将其放入我自己的bean接口中。有没有更合理的方法来实现这一点?您可以更深入地研究您的设计需求:哪一种有更多不同的变体或实现。把它做成一个工厂,然后离开另一个。在这种情况下,我认为可以使用工厂创建详细信息。(如果请求没有以许多不同的方式执行。)请指定您希望我们帮助回答的问题查看问题,似乎只有您知道相关库的详细信息以及解决此问题的其他信息。