我有一个代码设计问题,一直在鼓励我一段时间,你看到我正在重构我的网站Cosplay丹麦,一个网站,其中cospalyers可以上传他们的图片自己穿着他们的服装。原来的网站在做PHP,Zend的MVC,但我的重构是在ASP.NET MVC正在做2.最佳实践,对象设计ASP.NET MVC
如果你把网站http://www.cosplaydanmark.dk/Costumes/(您可以切换到英语在左边的列(Sprog))
在这里您可以看到我们网站上所有动画的图片列表,我们显示了该动画下的名称,多少个不同的角色以及有多少图片。
http://www.cosplaydanmark.dk/Costumes/Bleach
如果你点击一个动画,你会得到我们在有图片给定的动漫内的字符的列表,在这里我们要显示的字符的名称,多少画廊和多少图像。
http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/
如果你点击人物的名字,你会得到在给定的动画给定的字符下的画廊名单。这里我们有一些关于画廊的信息,比如图片数量。
http://www.cosplaydanmark.dk/Costumes/Bleach/Ichigo_Kurosaki/Admi/
您应该点击图库你得到画廊中的图像列表。
我的数据库目前看起来像这样。
Database Design http://sogaard.us/uploades/dbdesign.jpg
正如你所想象的有很多不同的查询的的创建网站,第一个网站,我需要做一个选择上的“animes”表,并为每个结果上,我需要对角色和画廊进行选择。
我的计划创建这将是以下
Objects plan http://sogaard.us/uploades/objectsetup.jpg
凡IList中,将延迟加载列表中的一个。
但我不能决定什么是最好的解决方案,如果还有更好的方法做到这一点。我的首要任务是要保持良好的性能,并尽可能少地丢失功能和代码维护。
我使用的服务模式与LINQ到SQL存储库。
我的设计也不是绝对的,我愿意改变它,如果它可以提高性能:d
我希望我有足够的描述好我的问题让你明白我的意思,但问的路程,如果有什么我错过了。