我有以下布局:
实体:
Order
OrderItem
DAO课程:
OrderDAO
OrderItemDAO
所以我有POCO课程和DAO课程。
现在我想将上述实体封装到另一个实体中,所以我可以使用以下方法:
x.AddItem(OrderItem item)
x.CalculateTotal();
x.CalculateShipping();
x.Charge();
这种类型的实体会被称为什么?厂?或者只是一个简单的包装类?
答案 0 :(得分:2)
通常,我将代码库划分为多个层:建模层,数据访问层,经理/业务逻辑层和UI
在这种情况下,我建议离开Order / OrderItem POCO并创建一个OrderManager类。它将是一个无状态单例,并具有AddItem(Order,OrderItem)等方法。在内部,它将处理更新模型,提交数据更改,任何事务性等的细节。
答案 1 :(得分:1)
它绝对不是工厂(可能是创建你的“联合”实体的对象)。可能是包装纸,是的。但是为什么不让Order
实体直接通过在两者之间创建关系来管理其OrderItem
?
答案 2 :(得分:0)
听起来更像是Facade Pattern给我。隐藏执行这些不同过程的行为的实际执行情况。或者通俗地说,包装器是正确的。