我对如何进行我的计划有一些疑问。两年前,我们开始了一个小型的工业质量控制项目(es:维度控制)。最初,该软件只能在带有打印机的PC上运行,但现在,它运行在六台带有DB服务器的不同PC上。
这六个应用程序都是不同的,在某些情况下,由于不同的hw被控制的变化很小,而在另一些情况下,由于工业原因,软件是完全不同的。今天,最基本的问题是程序设计没有考虑到这个规模。数据库代码与逻辑核没有很好的分离,同一数据库有6个不同的ADO.Net接口。
现在,我希望实现一个设计MVC,因为,为了提高可维护性,如果可能的话,添加一些测试单元。
问题: DB模式与数据模型不匹配。
通常,将DB数据转换为应用程序数据需要一些统计知识,它们可能是不同的。现在,这些信息存储在ADO内部的查询中。
我的想法是创建一个公共库来与所有应用程序共享DB模式,但这是一个好主意吗?
如果我想要一个通用的DB接口,最好的设计是什么?是否可以将所有DB接口存储在库中并使用测试套件?
我在过度设计这个项目?
发布于 2017-05-24 17:21:06
您可能需要考虑构建一个单独的服务器进程,该进程将用于从数据库获取数据。您可以为此编写一个RESTful web服务,然后应用程序可以通过在主服务器上查询URL来访问数据。然后,web服务从数据库中获取数据并将其发回。这简化了桌面应用程序,因为它们不再需要直接与数据库对话。它还确保所有应用程序以统一的方式获取数据。
如果您不想为此拥有一个完整的web服务,那么在所有应用程序之间共享一个公共库是一个很好的方法。对于公共库,当需要更改代码时,只需在一个地方更改代码,然后更新应用程序以使用新编译的库(除非更改库中的接口)。不过,比起web服务,还有更多的工作。
https://softwareengineering.stackexchange.com/questions/349539
复制相似问题