Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 是否可以添加对现有应用程序的引用_.net_Design Patterns - Fatal编程技术网

.net 是否可以添加对现有应用程序的引用

.net 是否可以添加对现有应用程序的引用,.net,design-patterns,.net,Design Patterns,我正在使用WinForms和MS Access开发解决方案。在规划阶段,很明显,实际上有三个独立的应用程序,两个主应用程序和一个较小的应用程序,用于维护和存储一些数据,然后由其他两个应用程序使用 我考虑的不是通过查询较小应用程序的数据库来访问主应用程序中的公共数据,而是通过较小应用程序中的接口公开方法,然后供较大应用程序使用,有点像api 我的问题是,这可能吗?可能通过添加对已部署应用程序的引用?在这方面有什么最佳实践吗?如果部署了新版本的较小应用程序,会发生什么情况?这会打破参考吗 我对此做了

我正在使用WinForms和MS Access开发解决方案。在规划阶段,很明显,实际上有三个独立的应用程序,两个主应用程序和一个较小的应用程序,用于维护和存储一些数据,然后由其他两个应用程序使用

我考虑的不是通过查询较小应用程序的数据库来访问主应用程序中的公共数据,而是通过较小应用程序中的接口公开方法,然后供较大应用程序使用,有点像api

我的问题是,这可能吗?可能通过添加对已部署应用程序的引用?在这方面有什么最佳实践吗?如果部署了新版本的较小应用程序,会发生什么情况?这会打破参考吗

我对此做了一些研究,但只能找到与web服务或创建公共库DLL/框架相关的信息,这是我所熟悉的,但我认为这是一个稍微不同的场景

我非常感谢您的指导/建议

干杯


Jamie

是的,这是可能的,但您应该创建库插入应用程序以供通用。这是一个库,可以作为对任何应用程序的引用添加。

使用库肯定是更好的设计,但.NET绝不会阻止您将exe链接为dll。我不建议将应用程序链接到dll,我建议将dll链接到应用程序。那么创建一个单独的dll,为较小的应用程序提供一个接口,然后在较大的应用程序中添加作为引用?与在较大的应用程序中简单地添加对较小应用程序的引用相比,这有什么好处?首先,这意味着较大的应用程序不必将较小应用程序中所有不重要的内容加载到内存中,只需访问常见的功能即可。它可以只加载一个包含它感兴趣的函数的dll。这也意味着,如果不破坏较大的应用程序,就无法更新较小的应用程序。实际上,这意味着较大的应用程序可以忽略较小的应用程序的存在,因为它真正感兴趣的是一组恰好也被较小的第二个应用程序使用的功能。啊,所以不管采用何种方法,如果我更新较小的应用程序,我总是会破坏较大的应用程序?我要么破坏了较小应用程序和较大应用程序之间的链接,要么破坏了较小应用程序和中间dll之间的链接?