idevz/vanilla

vanilla对models部分的处理,是怎么考虑的?

caidollar opened this issue · 1 comments

lua对数据的处理,缺乏轮子。很多sql的语句,数据的处理,都需要自己写。如果有封装好的lua数据库框架,数据库编程就会非常方便。
比如现在,没做1个sql操作,就要重写sql连接,sql连接错误处理,分解数据结果等。太麻烦。不知道vanilla对数据models部分是怎么设计的?谢谢

idevz commented

感谢你的提问,关于数据库的类库,我们推荐直接使用春哥的resty系列的包,如resty-mysql,vanilla一直为什么没有提供通用的封装,是因为觉得不一样的使用场景对包的需求不经相同,没有统一性,众口难调。
不过目前来看社区的需求越来越多,我们会考虑开源部分内部使用的实践。
另外对于models的封装,Vanilla的设计考量如下:
1.models是对数据层的封装,大致分为DAO和Service两个方面
2.models/dao主要是对源数据的读写操作的封装,可以是数据库,也可以是各种数据中间件或者接口。
3.models/service主要是通过对dao的封装来提供一些通用性的服务,比如dao封装了获取用户的操作,service提供一个去列表的方法,controller则通过对service的调用来满足各种业务场景。