我需要在.NET中为我的公司编写一个产品,其前端或UI将是不同的 - 赢取表单,Web和移动,但业务逻辑和数据库将是相同的。
在您的情况下,任何人都可以分享或建议您用于实现此目的的架构吗?我也在考虑以下内容。
由于
答案 0 :(得分:0)
您建议的架构与我一直使用的架构非常相似。您可以替换任意数量的Web服务/ RESTful / WCF类型的通信层。混合搭配,全部使用,找到你最喜欢的。所有这些都很好。
Web服务已经存在时间最长。他们将拥有更多长时间运行系统的实例。 Web服务还有一个称为SOAP的传输层。如果您的客户端没有内置的SOAP支持,它可能会增加客户端与服务通信的复杂性。
WCF是Web服务的更新版本。我对他们做的并不多。我知道一些客户端框架很难与WCF服务进行通信。那是我的经历。您的里程可能会有所不同。
我通过MVC中包含的Web API使用RESTful。到目前为止,这是我用来与客户端应用程序交换数据的简单方法。对于我的应用程序,我使用JSON作为数据传输层。我可以像使用XML一样容易。 MVC都内置了。
浏览器框架领域几乎每个主要参与者都支持使用RESTful服务。我目前的应用程序使用AngularJS(谷歌框架)和.NET中的MVC的组合。我也可以替换KnockOut,或者任何另外十几个客户端框架。或者自己写。
我也在使用实体框架(EF)来促进SQL Server中数据存储的CRUD方面。我可以很容易地指出Oracle或其他一些数据库。 EF适用于任何具有ADO.NET或ODBC驱动程序的东西。当EF不足以满足我的需求时,我可以使用EF DbContext
通过LINQ
与数据库进行通信。如果LINQ
无法删除(通常不会发生),我还可以通过DbContext
执行SQL查询,存储过程等。