是否有一种方法可以为任何宿主应用程序都可以实现的模块创建接口?
我们有几个应用程序,它们有很多常见的代码,我们希望重构到模块中,但有时模块可能需要调用runEvent或setNextEvent来处理宿主应用程序中存在的处理程序方法,这是由于独特的行为和实现。
我是否可以在模块中指定这样的约定:“主机应用程序必须实现以下处理程序:'admin.foo','admin.bar',..."?
我猜有一个模块加载拦截,我可以手动完成,但我想知道是否有一个约定,这样我就可以将列表放在某个地方,而不是将样板代码复制粘贴到每个模块中。
发布于 2017-11-15 03:12:16
您可以在ModuleConfig.cfc:this.dependencies = [ "myOtherModule" ]中指定依赖项。这些依赖项将在模块之前加载。此时,没有办法通过“接口”使模块符合处理程序的集合。
不过,通常情况下,通过传递到其他模块,这可以通过模块配置中的自定义路由轻松处理,而不是通过新的实现:
addRoute(
pattern="/this-module/foo",
moduleRouting="that-module"
)或
addRoute(
pattern="/this-module/foo",
module="that-module",
handler="oldFoo"
action="bar"
)https://stackoverflow.com/questions/44659901
复制相似问题