我不知道这个问题是属于这里还是属于softwareengineering.stackexchange。我有一个叫car的服务:
public interface CarSerivce{ Car create(String model);}
现在我想有两个功能,创建和创建随机。创建随机汽车不需要模型,服务应选择一个可用的随机模型。因此,这可以有效地实现:
@Service
public class CarServiceImpl implements CarService{
public Car create(String name){...}
}
//This one cannot implement the interface
@Service
public class RandomCarServiceImpl{ public Car create(){...}}
一种解决方案是外部化,由使用服务的类创建一个随机名称并将其传递给服务。但这不是一个选择,因为这个例子是人为的,而真正的例子需要一个相当复杂的随机生成算法,用于许多参数,而不仅仅是一个参数。我的第二个想法是让一个实现有两个方法,create(string name)和createrandom()(或者只是一个没有参数的重载create)。这工作得很好,这样我就可以把所有的创建代码放在create方法中,并从createrandom方法调用它。因为这是关于选择策略(就像策略设计模式一样),我想知道是否有更好的解决方案。
暂无答案!
目前还没有任何答案,快来回答吧!