Silverlight应用程序中的命名空间冲突

时间:2012-06-28 20:28:44

标签: silverlight model-view-controller

我的应用程序具有以下结构:

  • myproject(主要Silverlight项目)
  • myproject.Web(该应用程序的网站)
  • myproject.Controls(类库,所以我可以用控件做一些继承)
  • myproject.Classes(表示控件绑定到的数据的类)

将这些拆分为具有自己的子命名空间的项目似乎是一个好主意,但我遇到了很多耦合问题,这导致循环依赖命名空间问题。

从我做过的小iOS开发,感觉有点像我想在这里推出自己的MVC解决方案。在Silverlight应用程序中使用数据支持控件(基本上是表单)的推荐方法是什么?

2 个答案:

答案 0 :(得分:1)

如果名称空间和程序集名称匹配,项目看起来很好。您可以执行以下操作:

  • myproject.Classes可以引用无
  • myproject.Controls可以引用myproject.Classes
  • myproject可以引用myproject.Controls和myproject.Classes
  • myproject.Web可以引用myproject.Classes,但不应该

答案 1 :(得分:-1)

我建议在主要Silverlight应用程序本身(具有多个文件夹的单个项目)中拆分。除非您现在知道必须重用类中的代码并控制不同Silverlight应用程序中的命名空间,否则我会避免使用它。 Silverlight是UI,您想要重用的任何内容都应该在项目的ASP.NET部分(逻辑,数据库访问,业务规则等)。

如果你采用这种方法,你的用户界面就不会成为你脖子上的信天翁。

让您的Silverlight应用程序保持轻薄,快速和漂亮 - 我保证您不会后悔。

编辑: downvote让我意识到我不清楚(下面更清晰,更简洁的版本):

不要将解决方案拆分为基于命名空间的项目 - 这会导致不必要的复杂化。在项目中使用命名空间来组织代码。将项目数量保持在最低水平,并且仅在有迫切需要时才进行拆分。

祝你好运!