需要有关 Java 设计模式的帮助
Need help on Java design pattern
你能为以下场景推荐一些好的设计模式吗:
我们有多个供应商,分别称为公司 A、B 和 C。每个公司都有自己的业务逻辑。
您可以使用接口 CompanyTemplate
,它将包含公司 A
、B
和 C
- [=18] 应实施的所有常用方法=]
public interface CompanyTemplate{
public someCommonMethod();
}
之后A
可以补充CompanyTemplate
-
public class A implements `CompanyTemplate` {
public void someCommonMethod(){
//implementation code
}
//Other methods special only for company for A
}
我觉得是策略模式:link
内部接口定义将由具体供应商执行的方法。具体供应商必须实现接口并添加自己的方法(策略)实现。
为此,您可以使用以下模式
还要考虑下图。
如果您的业务逻辑与 creation of different objects
不同供应商相关,您可以使用 Factory Method / Factory_ 模式。
如果您的业务逻辑与change behaviour of system
不同供应商相关,您可以使用Strategy_pattern
有关这些模式的更多详细信息,请参阅相关的 SE 问题:
Real World Example of the Strategy Pattern
What is the basic difference between the Factory and Abstract Factory Patterns?
What is the difference between Factory and Strategy patterns?
你能为以下场景推荐一些好的设计模式吗:
我们有多个供应商,分别称为公司 A、B 和 C。每个公司都有自己的业务逻辑。
您可以使用接口 CompanyTemplate
,它将包含公司 A
、B
和 C
- [=18] 应实施的所有常用方法=]
public interface CompanyTemplate{
public someCommonMethod();
}
之后A
可以补充CompanyTemplate
-
public class A implements `CompanyTemplate` {
public void someCommonMethod(){
//implementation code
}
//Other methods special only for company for A
}
我觉得是策略模式:link
内部接口定义将由具体供应商执行的方法。具体供应商必须实现接口并添加自己的方法(策略)实现。
为此,您可以使用以下模式
还要考虑下图。
如果您的业务逻辑与 creation of different objects
不同供应商相关,您可以使用 Factory Method / Factory_ 模式。
如果您的业务逻辑与change behaviour of system
不同供应商相关,您可以使用Strategy_pattern
有关这些模式的更多详细信息,请参阅相关的 SE 问题:
Real World Example of the Strategy Pattern
What is the basic difference between the Factory and Abstract Factory Patterns?
What is the difference between Factory and Strategy patterns?