为我的规格选择设计模式

时间:2014-10-31 05:35:38

标签: java php mysql design-patterns

我的规格是这样的:

说我有一个具有一些功能的产品

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个功能实际上代表数据库表中的行,而派生产品是基础产品的多个功能的组合。

有人可以建议我在数据库中创建表格并编写代码来解决这个问题吗?

我经历了规范设计模式,但它并不完全适合。

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

尽管@Evan Knowles对 Structural 方面的 Composite_pattern 有一个很好的观点。另一种可能的解决方案是来自 Creational 方面的Factory Method。因为它允许您创建几个派生类的实例。还定义了用于创建对象的接口,但让子类决定实例化哪个类。 Factory Method允许类将实例化延迟到子类。

我认为这个问题到底是什么(也许我错了):

  

在数据库中创建表和编写代码时要遵循的某种设计模式

所以,如果我是正确的,你需要的是更多ORM - 相关的。但是你需要知道为什么要在JDBC之上添加抽象。如果只是推导是主要问题,那么您可以考虑更多地关注模型而不是组织数据库表。

两种方式 - 此list都会有所帮助(在 Java 部分下)。