0

我目前正在使用工厂从数据库中检索多个对象并返回一个复杂对象。

我的问题是,这对工厂来说是否有效?

我正在使用一个没有花哨选项的遗留数据库。

下面是一个用于演示目的的代码示例:

public class ComplexItem : IComplexItem
{
    public ComplexItem(Item item, List<ItemPart> itemParts, List<ItemComment> itemComments)
    {
        //Setter
    }
}


public class ComplexItemFactory : IComplexItemFactory
{
    private ItemRepository itemRepository;
    private ItemPartsRepository itemPartsRepository;
    private ItemCommentsRepository itemCommentsRepository;

    public ComplexItemFactory(ItemRepository itemRepository, ItemPartsRepository itemPartsRepository, ItemCommentsRepository itemCommentsRepository)
    {       
        //Setter
    }

    public IComplexItem CreateComplexItem(ItemKey itemKey)
    {
        var item = itemRepository.Get(itemKey);
        var itemParts = itemPartsRepository.GetItemParts(itemKey);
        var itemCommentsRepository = itemCommentsRepository.GetItemComments(itemKey);

        return new ComplexItem(item, itemParts, itemCommentsRepository);
    }
}
4

1 回答 1

0

Coming back to this question, it feels kind of silly. Yes there is nothing wrong with this factory.

Today ORM's would solve this problem for you...

于 2015-04-18T20:37:39.450 回答