我的规格是这样的:
说我有一个具有一些功能的产品
Product (Base Product)
-> Feature 1
-> Feature 2
-> Feature 3
-> ......
-> Feature N
现在我想创建如下的派生产品:
Derived Product 1
-> Feature 1
-> Feature 2
...........
-> Feature M
Derived Product 2
-> Feature 1
-> Feature 3
...........
-> Feature X
Derived Product 3
-> Feature 2
-> Feature 3
...........
-> Feature Y
N个功能实际上代表数据库表中的行,而派生产品是基础产品的多个功能的组合。
有人可以建议我在数据库中创建表格并编写代码来解决这个问题吗?
我经历了规范设计模式,但它并不完全适合。
提前感谢您的回答。
答案 0 :(得分:0)
尽管@Evan Knowles对 Structural 方面的 Composite_pattern 有一个很好的观点。另一种可能的解决方案是来自 Creational 方面的Factory Method。因为它允许您创建几个派生类的实例。还定义了用于创建对象的接口,但让子类决定实例化哪个类。 Factory Method允许类将实例化延迟到子类。
我认为这个问题到底是什么(也许我错了):
在数据库中创建表和编写代码时要遵循的某种设计模式
所以,如果我是正确的,你需要的是更多ORM - 相关的。但是你需要知道为什么要在JDBC之上添加抽象。如果只是推导是主要问题,那么您可以考虑更多地关注模型而不是组织数据库表。
两种方式 - 此list都会有所帮助(在 Java 部分下)。