用面向对象的思维写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的时间呢?还有多一层类的包装,效率也低,请问高玩对这种情况怎么看?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
高级语言对某种方案的取舍大部分时候大不是考虑效率。
效率自然有缓存、有分布式去解决。
考虑的首要因素是如何让代码更简单、更加可复用、可理解。
像流行的web框架,一个请求动辄加载几十个文件,这是为什么呢?就是因为上面所说的理由。
所以,我推荐第二种写法,甚至更高层的封装写法。