【发布时间】:2015-05-22 19:06:50
【问题描述】:
我正在阅读 Bob 叔叔的 blog about SOLID principles,尤其是他的书中关于 SRP - 单一责任原则的摘录,并尝试使用真正的控制台应用程序来应用它。
为了证明他的观点,鲍勃叔叔说:“在 .NET 中,必须使用计算几何应用程序构建和部署 GUI 程序集。” 所以我们必须将 Rectangle 分解为两个不同的实体等。
但为了确定起见,我想测试该语句并将这些对象中的每一个放入各自的程序集中。
对我来说,鲍勃叔叔的意思是,如果 ComputationalGeometry 是一个控制台应用程序,它不应该运行,除非放在与 Rectangle.dll 和 GUI.dll 相同的目录中,对吧?
事实上,我的计算几何应用程序在可执行文件目录中没有 GUI.dll 的情况下运行得非常好。它在没有 Rectangle.dll 的情况下崩溃,这是显而易见的。所以 .NET 非常聪明,并且知道 ComputationalGeometry 应用程序不会调用 draw() 函数。
鲍勃叔叔会错吗? 有人可以解释一下我在这里遗漏的观点吗?
【问题讨论】:
标签: c# .net deployment dependencies .net-assembly