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

现有 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的时间呢?还有多一层类的包装,效率也低,请问高玩对这种情况怎么看?

阅读 2.5k
1 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题