可以将相同的设计模式用于 Web 以及 .net 的桌面应用程序吗

Can same design patterns be used for web as well as desktop applications for .net

多年来,我一直在 .net 中开发 Web 应用程序。我需要为桌面应用程序设计一个解决方案。用于桌面的最常见架构是什么?需要考虑哪些因素?可以将相同的设计模式应用于 Web 和桌面吗?请不要将此问题标记为开放式并关闭它。这将帮助具有网络经验的人从从事桌面应用程序工作的人那里获得一些想法。 感谢专家解答!

此致,

这个问题太板了,我下面的回答也太板了。

Web架构(client/server)可以被桌面使用,但是事件驱动的桌面架构通常不能(或更难)被Web使用。所以如果你想开发一个desktop/web系统,使用客户端-服务器架构。

这个问题确实太开放了,但这是我的两分钱。我将与您分享我从 ASP.NET Web Forms 和 MVC 的 Web 开发到 WinForms 开发的经验。

如果您有 Web 开发经验,那么进入使用 .NET 的桌面应用程序开发对您来说并不难。由于共享框架,过渡非常顺利。随着您的进步,您会遇到许多与 ASP.NET Web Forms 的相似之处(尽管大多数只是在表面层面上)。毕竟,这正是微软当时的目标 - 让 Web 开发更像桌面,并以开发人员不必考虑太多的方式抽象无状态 HTTP 客户端-服务器通信的细节它。这既是 ASP.NET Web 表单的优点也是缺点,我相信您可以通过自己的经验来判断。

也就是说,在很多情况下,您会看到应用程序设计中使用相同的模式,即 MVC。您将在事件处理和许多控件中看到相似之处。不用担心,我相信您会发现您在 Web 开发方面的经验在桌面开发中非常有价值。对我来说,这比从桌面到 Web 的过渡要容易得多。