Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight应用程序中的命名空间冲突_Silverlight_Model View Controller - Fatal编程技术网

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

Silverlight应用程序中的命名空间冲突,silverlight,model-view-controller,Silverlight,Model View Controller,我的应用程序具有以下结构: myproject(主要Silverlight项目) myproject.Web(应用程序的网站) 控件(类库,这样我可以对控件进行一些继承) 类(表示控件绑定到的数据的类) 将它们拆分为具有自己子名称空间的项目似乎是个好主意,但我遇到了很多耦合问题,这导致了循环依赖名称空间问题 从我所做的小小的iOS开发来看,感觉就像我正在尝试在这里推出自己的MVC解决方案。在Silverlight应用程序中,让控件(基本上是表单)由数据支持的推荐方法是什么?如果名称空间和程序

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

  • myproject(主要Silverlight项目)
  • myproject.Web(应用程序的网站)
  • 控件(类库,这样我可以对控件进行一些继承)
  • 类(表示控件绑定到的数据的类)
将它们拆分为具有自己子名称空间的项目似乎是个好主意,但我遇到了很多耦合问题,这导致了循环依赖名称空间问题


从我所做的小小的iOS开发来看,感觉就像我正在尝试在这里推出自己的MVC解决方案。在Silverlight应用程序中,让控件(基本上是表单)由数据支持的推荐方法是什么?

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

  • 类不能引用任何对象
  • 控件可以引用myproject.Class
  • myproject可以引用myproject.Controls和myproject.Class
  • Web可以引用myproject.class,但不需要

我建议在主Silverlight应用程序本身(包含多个文件夹的单个项目)中进行拆分。除非您现在知道必须在不同Silverlight应用程序中的类和控件名称空间中重用代码,否则我将避免这样做。Silverlight是UI,您希望重用的任何内容都应该位于项目的ASP.NET部分(逻辑、db访问、业务规则等)

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

让您的Silverlight应用程序保持精简、快速和美观-我保证您不会后悔

编辑:否决票让我意识到我不清楚(下面是更清晰、更简洁的版本):

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


祝你好运

你能解释一下你说的“在主Silverlight应用程序中”是什么意思吗?当然,使用单个Silverlight项目,并在其中创建名称空间(创建文件夹会自动完成此操作)。好的,我认为我的项目文件夹位于整个解决方案的文件夹中。对,我建议避免这样做。名称空间!=VisualStudio项目,但通常感觉每个命名空间都应该有一个项目。这样做造成的问题比解决的问题还多。将项目数量保持在最低限度。在您的情况下,一个web和一个Silverlight项目就足够了。在这些项目中组织名称空间,但保持解决方案组织简单。只有在你需要的时候才创建新的项目,这是值得的。将它们分开通常是预期的设计,这会增加不必要的复杂性。我在myproject中使用app.xaml文件来承载一个需要在整个应用程序中访问的变量。子名称空间是否可以以某种方式访问它?不是直接访问,而是系统。Windows程序集具有
应用程序
类,该类具有静态
当前
属性,将获取当前应用程序。从那里您可以获得资源:
var thing=Application.Current.resources[“MyKey”]我建议在“基本”项目(myproject.Classes)中创建一个类,该类将保存信息,因为您不能保证应用程序将拥有该资源。该类必须是单例的,对吗?我试图通过使用应用程序中声明的变量来避免这种情况。谢谢你对这个问题的建议。我选择Audie的答案作为解决方案,因为它解决了通过项目包含名称空间的问题。