黑马程序员技术交流社区

标题: 三层架构中,Model由结构体代替类是否好些? [打印本页]

作者: DWC_5101    时间: 2013-3-29 13:35
标题: 三层架构中,Model由结构体代替类是否好些?
本帖最后由 DWC_5101 于 2013-3-30 12:21 编辑

Model里面就是一些公共的属性,用结构体来实现,是否更有效率些? 各位大侠怎么看
作者: 管章鹏    时间: 2013-3-29 15:03
你知道的结构和类的执行效率是差不多的,有一些类完全可以用结构来替代,但是你要知道,结构体有一个很大的缺陷,就是它不能够实现多态,不能够被继承的,如果以后想对这个项目进行扩展,而恰巧Model又是用结构写的,那么将会很麻烦。下面是我搜的资料,你可以参考以下,希望对你有帮助

结构和类的区别,在网上随便搜索一下,到处都是。
其中的一点是:传递、赋值结构的对象将复制整个结构,而只类复制引用(指针)。
因此,3层结构中一般不用结构,理由是
1。通常结构表示比较简单、比较小的数据类型,而Model类作为数据库表的映射,通常是有些复杂的;
2。最重要的一点,由于上层(业务层,甚至界面层)会频繁在方法中传递结构对象,又因为结构是按值复制(复制整个结构,而不是指针),频繁的堆栈复制将严重影响效率。而用类就不会,因为他传递的是对象引用。
作者: 管章鹏    时间: 2013-3-30 12:24
管章鹏 发表于 2013-3-29 15:03
你知道的结构和类的执行效率是差不多的,有一些类完全可以用结构来替代,但是你要知道,结构体有一个很大的 ...

呵呵,谢谢,你的鼓励将是我不断进步的动力!谢谢拉哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2