我想知道某项技术是否存在。
简而言之,我是否可以模拟或创建一个Facade来替换当前由网站通过ADO.net直接使用的SQL Server数据库和服务(理想情况下为WCF)?
详情:
我们有一个ASP.NET网站(现在都是C#),大约有10年历史,功能强大,全部都是通过ADO.NET击中特定的SQL Server 2008。它主要使用大量的存储过程,但有一些直接的T-SQL事务。
我们已经达到了扩展我们的数据库和添加新功能已经变得非常昂贵的程度,我们正在接近危机。我一直在设计一个基于孤立的业务数据元素和服务的新平台,其外观为我们使用它的每个产品(包括合作伙伴)提供上下文API。
未来还有大量的工作,可能需要一年,对于由五名中级开发人员执行任何其他工作的团队来说,调查该网站,重写对这个新平台的数据访问(按功能上线时的功能),并确保一切正常。我们完成后会有一个很好的系统,但到那里会很痛苦。我们对数据库的理解非常好,但网站代码的功能非常复杂,并且周围没有人能够理解所有这些内容。是的,我们永远不应该达到这一点,数据层应该已经整合到原始网站设计等中,但这不是我们所拥有的。
我想知道我是否可以创建一个与网站的SQL Server一样的外观,只需要更改ADO.NET连接字符串。此服务将实现所有存储过程请求,并将T-SQL请求转换为新平台。完成后,我们只需更改网站上的ADO.NET连接字符串 - 无需更改其他网站代码。理想情况下,这种技术将使用像WCF这样的.NET技术。
我想我可以做一些像实现ODBC驱动程序那样糟糕的事情,但我想知道是否有更简单的方法。
答案 0 :(得分:0)
可能只是提供一个指定设计良好的接口的数据访问层。您的网站只能处理接口,您可以根据需要使用依赖注入/ IoC来提供接口的具体实现。
这不是一种“现有技术”,但可能只是我设想的一种谨慎的设计方式。