注意:WinForms C#早期学习级别!设计:访问儿童收藏,同时避免父母!
我想在C#对象环境中实现某种情况的最佳方式提供一些帮助。我不能发布代码,因为它还不存在,但我可以给你一个替代的现实生活中的比较。
简而言之(因为那就是我的工作方式)我有一本Book类。我有这些Book类的集合(<List>
)。 在每个Book类中,我有一个Chapter类的集合(<List>
)。书中的Class和Chapter类是基于完全不同的抽象类。它们在单独的业务层中定义,数据从数据源层加载。请记住,有许多书籍和许多章节。
从我的GUI层我可以检索一本书,它是基于集合索引/键的基础属性。我也可以通过Book类获得书中的所有章节。
我需要做的是能够从任何书籍中获取任何章节类,而无需通过Book类。 实现此目的的最佳方式是什么?
Thanks guys and gals
'get'将意味着搜索并从内存中检索对章节的引用,然后可以使用该引用来查询数据库的所有详细信息。 一章将会有一个唯一的id以及它的标题。 您是否建议我保留书籍和章节的单独集合,然后将它们链接起来,而不是在书中拥有章节的层次关系? – 2009-08-24 23:48:36
您可以同时拥有层次关系和“所有章节”集合。在对象模型中有多条访问路径是非常合理的。然而,我不确定它是否合理地将整套章节保存在内存中 - 对于我猜想的国会图书馆员来说不起作用?因此,提供getById()的服务api可能会隐藏或者不存在整个内存。必要时进行数据库检索。 – djna 2009-08-25 06:18:12