在没有 Prism 的情况下使用 Unity

发布于 2024-10-03 03:51:39 字数 443 浏览 1 评论 0原文

我开始学习 Silverlight(我对 WPF 很熟悉:P)。当我开始一个新的程序时,我总是尝试加入一些新的东西。这次我想要DI。我看了所有关于棱镜和棱镜的错误视频。 Silverlight 但区域问题、所有项目、何时使用 SL 应用程序或 SL 库、目录......现在对我来说似乎很困难。

问题是,我想在 MVVM Light 项目上使用 Unity。我的问题很简单:

如何注册我的所有服务?我的意思是“哪里”。

在 Prism 上,每个包含服务的项目都有一个 IModule 实现,用于注册您的服务。

我只想要一个简单的项目解决方案。

我应该在 App.xaml.cs 上注册我的所有服务(包括存储库)吗?我应该为了 Unity 创建某种类吗?或者我应该作为一个男人阅读整个 prism4.pdf 并正确执行操作吗? (Prism4.pdf似乎有点不友好:P)

谢谢!

Im starting learning Silverlight (Im decent with WPF :P). Im always try to put something new when I start a new program. This time I want DI. I saw all the mtaulty videos about Prism & Silverlight but the regions thing, all that projects, when to use SL app or SL library, catalog... Seems difficult to me right now.

The thing is, I want to use Unity on a MVVM Light project. My question is simple:

How I register all my services? I mean "Where".

On Prism in every project with services you have an IModule implementation where register your services.

I just want a single project solution for ease.

Should I register all my services (including repositories) on App.xaml.cs?, Should I create some kind of class for Unity sake? or Should I be a man an read the entire prism4.pdf and do the things correctly? (Prism4.pdf seems to be a little unfriendly :P)

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

殤城〤 2024-10-10 03:51:39

AFAIK,Unity 和 Prism 不需要彼此才能工作。 Unity 无需使用 Prism 即可完美运行。
使用 Unity,您必须在配置文件中注册接口(服务),并在程序启动时加载此配置(App.xaml.cs 不是一个坏地方)。也可以使用代码注册服务,但这使得用真实实现替换虚拟接口变得更加困难。从这里开始,您可以使用 unityContainer.Resolve 检索您的服务和接口。

AFAIK, Unity and Prism don't need each other to work. Unity works perfectly fine without using Prism.
With Unity, you have to register your interfaces (services) in a config file, and load this config at the start of your program (App.xaml.cs is not a bad place). It is also possible to register the services using code, but this makes it more difficult to swap out dummy interfaces with real implementations for example. From here on you can use unityContainer.Resolve<T> to retrieve your services and interfaces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文