我试图掌握设计组件的高度去耦,低内聚模式。
我将大型系统的每个功能设计为Web组件 - 类似于"模块"的概念。在设计模式中,例如Export-PDF功能,Boards功能等。
问题是某些组件依赖于它们 - 它们调用每个组件的方法,可以访问它们的公共变量等。
由于每个组件都需要单独测试,因此必须高度去耦,必须与其他组件具有较低的相互依赖性,哪些课堂示例可以使这些组件相互脱离?
考虑这种情况:
.print()
方法。我的一些解决方案:
每个组件都会调度event
,然后在另一个组件中捕获,例如使用this.addEventListener(..
。
优点:
缺点:
每个组件只是直接调用其他组件方法,例如exportPDF.printPages()
。
优点:
缺点:
还有哪些其他解耦组件的方法?
为了记录,感兴趣的语言是JavaScript。 虽然概念和方法可能适用于许多编程语言,但我特别是使用JavaScript所具有的功能来讨论问题的概念和解决方案。