我正在设计一种医院集成系统,该系统从各个医院(我们的客户)消耗数据,然后根据从数据库读取的配置应用特定的业务规则。如果我使用Java,我的第一反应将是构建一系列表示各种业务规则的接口,然后注入具体实例(使用Spring / guice)以组合一个完全配置的对象。这将使我能够在配置逻辑(对Foo医院应用什么业务规则?)和实际业务规则之间实现清晰的分离。
不幸的是,我没有使用Java,我正在使用Lua。我已经沉浸在Lua文献中几天了,最接近DI的类比似乎是使用模块。此外,似乎规定了在运行时解析lua模块的规则完全基于询问本地文件系统。
“模块模式”是实现我所追求的(配置逻辑与业务逻辑分离)的最佳/唯一方法吗?如果是,如何利用Lua的模块加载规则来在运行时变化实际加载的模块?
不幸的是,我没有使用Java,我正在使用Lua。我已经沉浸在Lua文献中几天了,最接近DI的类比似乎是使用模块。此外,似乎规定了在运行时解析lua模块的规则完全基于询问本地文件系统。
“模块模式”是实现我所追求的(配置逻辑与业务逻辑分离)的最佳/唯一方法吗?如果是,如何利用Lua的模块加载规则来在运行时变化实际加载的模块?