我正在尝试学习 oo 设计模式并开发购物车应用程序,其中不同的购物车项目将具有不同的类型。每种类型都会有一些附加属性。
选项 1:是否可以为每个购物车项目创建一个单独的类,并在基类中拥有自己的属性和公共(public)属性。在此选项中,我将必须在数据库中创建多个类和相应的表层次结构。
选项 2:创建具有类型属性的单个购物车项目,该属性将标识属性的类型。在这种情况下,特定购物车项目的不相关属性将为空。
我知道这是一个非常基本的问题,但我想知道人们如何遵循最佳实践。
提前致谢。
最佳答案
我会为此使用策略,例如:
public interface CartItem{
String getName();
BigDecimal getPrice();
}
仅在您的购物车中使用此界面。这样,如果你想要一个新的购物车项目,只需让它实现这个接口(interface),它就可以工作:)
通过使用界面,您仍然可以完全自由地设计实际的购物车商品(具有 1 个类或多个类)
关于java - 购物车的OO设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354966/