你能为以下场景建议一些好的设计模式:
我们有多个供应商,称为公司A,B和C.每家公司都有自己的业务逻辑。
答案 0 :(得分:4)
对我说像战略模式:link
内部接口定义将由具体供应商执行的方法。具体供应商必须实现接口并添加自己的方法实现(策略)。
答案 1 :(得分:0)
您可以使用CompanyTemplate
接口,其中包含公司A
,B
和C
应该实施的所有常用方法 -
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
}
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您的业务逻辑与不同供应商的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?