书店模型

时间:2010-04-27 19:54:00

标签: oop uml

我正在开发一个解决方案。我想建模以下结构

Collection 1
       Category 1
        Sub Category 1.1
                  Book 1
                  Book 2
                  Book 3

        Sub Category 1.2
                 Book 1
       Category 2
        Sub Category 2.1
                Book 2
        Sub Category 2.2
                Book 3
        Sub Category 2.3
                Book 4
       Category 3
        Sub Category 3.1
                Book 4

对它进行建模的最佳方法是什么,以便可以在

方向上遍历

1)从收藏到书籍(即如果选择收藏,则查找所有类别,子类别和书籍。)

2)从书到收藏(即如果选择书籍应该能够找到它属于哪个子类别,类别和集合)

2 个答案:

答案 0 :(得分:1)

这是您的应用程序的基本模型。

alt text http://ruchitsurati.net/myfiles/bookstore.png

public class Book
{
    public Category ParentCategory { get; set; }
    public Book() { }
}

public class Category
{
    public CategorySet SubCategories { get; set; }
    public BookSet Books { get; set; }

    public Category()
    {
        SubCategories = new CategorySet();
        Books = new BookSet();
    }
}

public class Collection
{
    public CategorySet Categories { get; set; }
    public Collection() {
        Categories = new CategorySet();
    }
}

public class BookSet : System.Collections.ObjectModel.Collection<Book>
{
    public BookSet() { }
}

public class CategorySet : System.Collections.ObjectModel.Collection<Category>
{
    public CategorySet() { }
}

public class CollectionSet : System.Collections.ObjectModel.Collection<Collection>
{
    public CollectionSet() { }
}

答案 1 :(得分:0)

听起来你需要的是一个线程树。或者,只使用几乎任何中途合理的关系数据库。