用面向对象的思维写javascript,对于数据表的操作是否科学/效率

发布于 2022-09-04 06:08:20 字数 599 浏览 25 评论 0

现有 User类
数据库有 user 表

现有一个数据库操作类UseDao

其中function insert的写法

写法1

class userdao{
    insert(userId,userName){
        db.query(`insert into user (userid,username) values( ${userId},'${userName}')`)
    }
}    

写法2

class userdao{
    insert(user){
            db.query(`insert into user (userid,username) values( ${user.userId},'${user.userName}')`)
        }
  }  

表面看面向对象似乎更先进,但是效率上却每次执行都要新建一个User对象把参数包装一下,2个字段还好,当多个字段的时候,或者遇到插入createtime值的时候,到底该取new User的当前时间还是取insert的时间呢?还有多一层类的包装,效率也低,请问高玩对这种情况怎么看?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你げ笑在眉眼 2022-09-11 06:08:20

高级语言对某种方案的取舍大部分时候大不是考虑效率。
效率自然有缓存、有分布式去解决。

考虑的首要因素是如何让代码更简单、更加可复用、可理解。

像流行的web框架,一个请求动辄加载几十个文件,这是为什么呢?就是因为上面所说的理由。

所以,我推荐第二种写法,甚至更高层的封装写法。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文