在动态/脚本语言中构建松散耦合系统的设计模式
2012-9-9 0:48:50
收藏:0
阅读:149
评论:2
我有很多使用Java / C#构建企业应用程序的经验,并已习惯于使用面向对象的静态类型语言带来的所有陷阱。具体来说,我已经非常擅长使用行业标准工具来处理系统复杂性:
- 接口/抽象类型
- 对象组合
- 依赖反转
我被要求使用动态的功能语言(Lua)设计一个相当复杂的后端消息处理系统。功能语言是当今的热门语言(例如NodeJs、JavaScript等),因此我很高兴利用这个机会跳上这个潮流。
有人能建议一个样本应用程序或架构,我可以使用它来学习使用类函数、闭包、柯里化等来构建一个复杂的、松耦合的系统吗?
非常感谢!
点赞
用户113330
我已经对可以在具有一等函数支持的动态语言中应用的“设计模式”进行了相当多的研究,以下是我的研究结果。
柯里化 == 依赖注入。柯里化允许您将函数重新打包为一个新函数,并将其一个或多个参数值已分配。这非常类似于IoC容器通过“引导”所有依赖项实例化类并准备好供客户端使用。
一等函数 == 命令模式。由于一等函数可以像值一样传递,因此您基本上可以免费使用并且没有额外的开销得到命令模式。
参考资料:
2012-10-23 17:41:05
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我建议看看下面的库/框架,它们设计得非常好。请记住JavaScript和Lua非常相似,只需用表替换对象并添加协程和“好看”的语法,就可以得到Lua。
Lua
node.js