============== 请大家帮忙回答一个问题 ============

问题描述

我写在别处了,在这里就不复制了。。多谢多谢。https://www.zhihu.com/question/41183709

解决方案

解决方案二:
引用

假设这里一共只有10个顾客,那么显示上面的用户界面需要查询数据库11次(一次查询所有客户,另外10次是每次为了获得该客户的订单总数)上面是面向对象的解决方法。

不知道你的奇谈怪论是从何而来既然只需要一条SQL语句(连接或子查询或其它).那么面向对象和面向过程又有什么区别
解决方案三:
查11次vs查1次这有什么好疑问的?
解决方案四:
噗就是这么理解面向对象和面向过程的?
解决方案五:
引用1楼xuzuning的回复:

引用
假设这里一共只有10个顾客,那么显示上面的用户界面需要查询数据库11次(一次查询所有客户,另外10次是每次为了获得该客户的订单总数)上面是面向对象的解决方法。

不知道你的奇谈怪论是从何而来既然只需要一条SQL语句(连接或子查询或其它).那么面向对象和面向过程又有什么区别

在我举例的这种情况下,面向过程执行效率更高。
解决方案六:
引用2楼shingoscar的回复:

查11次vs查1次这有什么好疑问的?

你明明知道查询1次的情况执行的更快,仅仅是为了面向对象而面向对象?
解决方案七:
为什么面向对象就不能关联查询呢?你的理论就不对!!!
解决方案八:
你的立论就不对!!!
解决方案九:
引用6楼xuzuning的回复:

为什么面向对象就不能关联查询呢?你的理论就不对!!!

我明白你的意思,假设现在还有其它要求,比如要有这个客户的今年的消费总额,去年消费总额,今年的订单总数这个三个你得创建属性吧,是的,你可以在查询的时候用连接一起查询出来。但是,你如果创建客户类的实例呢,你总不能实例化这个Customer的时候也去查询一下上面的三个值吧?如果你保留这三个值为Null值,那么在你获取上面三个属性之一时,你是不是还得去查询数据库?是不是回到原来的问题上来了?
解决方案十:
引用5楼truelove12的回复:

Quote: 引用2楼shingoscar的回复:
查11次vs查1次这有什么好疑问的?

你明明知道查询1次的情况执行的更快,仅仅是为了面向对象而面向对象?

我知道查1次快,不知道应该面向什么不如你解释下为什么查1次叫做面向对象,查11次叫做面向过程?
解决方案十一:
既然需要用到,没什么不一起查询呢?
解决方案十二:
引用9楼shingoscar的回复:

Quote: 引用5楼truelove12的回复:
Quote: 引用2楼shingoscar的回复:
查11次vs查1次这有什么好疑问的?

你明明知道查询1次的情况执行的更快,仅仅是为了面向对象而面向对象?

我知道查1次快,不知道应该面向什么不如你解释下为什么查1次叫做面向对象,查11次叫做面向过程?

我的本意是想说,在这种情况下面象过程执行起来更快,想知道大家在这种情况下,依然使用OOP还是会使用面向过程。我回答你刚才的问题,假设是在开发web,大概的面向过程语句是stringhtml='';查询数据库得到结果集遍历{拼出html到str}显示
解决方案十三:
面向对象只是某个层面的事情,不是所有的地方都面向对象,如果所有的地方都要面向对象,那程序没法写了
解决方案十四:
引用10楼xuzuning的回复:

既然需要用到,没什么不一起查询呢?

嗯,你在做一个假设,因为你在想用户实例中肯定是需要这个值的所以把上面的三个参数都查询出来了,但是你想,如果另一个界面不需要那三个参数呢,是不是查询数据库白白消费资源了?
解决方案十五:
引用12楼starfd的回复:

面向对象只是某个层面的事情,不是所有的地方都面向对象,如果所有的地方都要面向对象,那程序没法写了

说得好,这让我想起Java中的int这样类型,为了面向对象,所以有了int的包装类形Integer

时间: 2024-10-10 16:39:33

============== 请大家帮忙回答一个问题 ============的相关文章

串口通信-请高手帮忙回答,在龚建伟老师的串口调试中遇到了Serial串口类的问题

问题描述 请高手帮忙回答,在龚建伟老师的串口调试中遇到了Serial串口类的问题 点击打开串口按钮时,就会弹出以上图片的错误, 代码如下 // SerialPortTestDlg.h : header file // #include"SerialPort.h" #if !defined(AFX_SERIALPORTTESTDLG_H__37F6643D_1905_4655_883E_24AD7F141ED0__INCLUDED_) #define AFX_SERIALPORTTEST

请高手帮忙给一个VB2005升级的代码我用Infragistics 2005控件交换!谢谢

问题描述 请高手帮忙给一个VB2005升级的代码我用Infragistics2005控件交换!谢谢我的联系方式:QQ280293896liaowenbo198_0@163.com 解决方案 解决方案二:delphi中是用时间来更新主程序的..但VB好象是用版本号更新的?请问大家哪种比较好?并附一下全部代码?谢谢我用请高手帮忙给一个VB2005升级的代码我用Infragistics2005控件交换!谢谢

请大牛帮忙分析一个所见的小问题。

问题描述 最近无趣,偶得开发webservice一工作.索性重新研究下webservcie.随便启动了一个helloworld的webservice,便使用ie来调用调试一番.突然发现一个问题.静等我描述一下--在ie中敲入地址之后,显示方法,然后点击方法,需要输入参数调用,随后便在新打开的界面上显示出应有的结果.此事到此处并无多大的疑问,本以为这样就可以挥军南下了--可谁知--有一个奇怪的要求随后产生,能不能在ie测试调阅的时候,不要新打开的界面显示,而是在当前页显示结果--这--让我找了一些

2种C#增的写法!!请高手帮忙看看!

问题描述 第1种!!privatevoidForm1_Load(objectsender,System.EventArgse){objSqlConnection=newSqlConnection("Server=127.0.0.1;Database=jinxubin;uid=sa;pwd=123");objSqlDataAdapter=newSqlDataAdapter("select*frombook",objSqlConnection);objSqlDataAd

看朋友日志发现的一个ios下block相关的内存管理问题,很奇怪,请大家帮忙一起来回答!

http://blog.csdn.net/fengsh998/article/details/38090205 这篇文章下面是我的回复,同样的代码只是把变量的定义从局部变量改为类的成员变量就发现了很大的差异,目前还没有找到明确的答案,请大家帮忙看一下!

c语言的一个问题,请大牛帮忙看看,感激不尽

问题描述 c语言的一个问题,请大牛帮忙看看,感激不尽 我写的一个小程序: #include #include #include void main(){ pid_t pid; int i; for(i=1; i<2; i++) { pid = fork(); if(pid == 0 || pid < 0) break; } //pid = fork(); if(pid == 0){ printf("this is child process! "); char *s; in

list-link中如何产生一个初始化好了的List列表?就和数组一样?请帮帮忙

问题描述 link中如何产生一个初始化好了的List列表?就和数组一样?请帮帮忙 link中如何产生一个初始化好了的List列表?就和数组一样?请帮帮忙 解决方案 List有重载形式直接放入Array: list = new List<int>(new int[10]) 解决方案二: 没明白 补充完整 楼下接棒 解决方案三: 没明白 补充完整 楼下接棒 解决方案四: List<int> list = new List<int>(); for(i=0;i<10;i+

请大神帮忙做一个matlab的三次样条插值程序,小弟是小白啊,谢过了!急急急

问题描述 请大神帮忙做一个matlab的三次样条插值程序,小弟是小白啊,谢过了!急急急 已知: X=[1 3 6 8 10 14 16 20 23] Y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104] 求: X=[1 2 3 ...... 23]对应的Y值 解决方案 x=[1 3 6 8 10 14 16 20 23]; y=[0.345 0.343 0.616 0.900 0.581 0.302 0.250 0.101 0.104

malloc-小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下

问题描述 小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下 程序要求如下: 一个字符串,字符连续的部分为子串(不含带数字的部分) 下面是我写的程序 #include using namespace std; char* BiggestStr(char* str) { char* pStr = (char*)malloc(sizeof(str)+1); //申请一个空间存最大子串 int nCount = 0; //用于记录最大子串的长度 int J_nCount=0; ch