我们团队中的另一个人为我提供了一个库作为他的 web 框架的 jar。我们称这个框架为“我朋友的框架”。
我需要他的框架中的一个特定类。该类公开的一半属性是我自己的应用程序真正需要的。另一半不需要。要检索此类的属性,您需要进行一些字符串操作。因为我将在这个类之上开发自己的框架,所以我想尽可能多地解耦依赖。也许将来我的另一个朋友会开发一个更好的框架。
所以我所做的是为该类生成了一个外观类。我自己的框架通过我的外观类访问属性。如果“我朋友的框架”确实改变了,我只需要改变一个外观类,其余的保持不变。此外,字符串操作是在外观类内部完成的。此外,外观类仅公开所需的属性。所以我自己的框架只是作为普通的 getter/setter 访问属性。
然而,我和这个人发生了争执。他强迫我直接使用他的课程,因为首先他永远不会改变他的课程的实现。所以他告诉我写一个门面类真的没有任何价值。但我不同意。
我错了吗?我相信我是对的。