-- GlobalBinder.lua
GlobalBinder = {}
function GlobalBinder._injectTest()
return 5
end
-- functions.lua
function binder(binderTable)
local b = class("Binder")
binderTable = binderTable or GlobalBinder
setmetatable(b, {__index = function(t,k)
if binderTable[k] then
local res = binderTable[k]()
t[k] = res -- 缓存起来,不然每次都要返回值
return res
end
end})
return b
end
-- testBinder.lua
local testBinder = class("TestBinder", binder())
function testBinder:ctor()
print(self._injectTest) --> 5
end
return testBinder
Lua——实现依赖注入
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、下载zookeeper二进制安装包 https://archive.apache.org/dist/zooke...