作者Eleganse (王建民)
看板OOAD
标题Re: 今天被问倒了...
时间Fri Jul 10 15:01:45 2009
补充一下
程序导向的程式,会用到许多的"函式",
函式这种东西,乍看之下可以达成在OO导向中"类别"或是说"类别中的方法"相同的效果,
但是一个很主要的不同,是函式的撰写多半是属於call by value的概念,
也就是一大堆数据或文字资料,经由一个函式的服务,
而输出另外一大堆的数据或文字资料。
当系统的功能慢慢扩增,我们的函式也越来越多,
整个系统在执行时有那种"资料副本满天飞"的感觉,
就我个人的主观概念,如果程序导向的程式撰写时能够都使用call by referance,
也就是"指标"的广用,一部份的程度上,是能够达成OO导向的好处的。
但是指标这种东西,在C语言的最新一代C#中,已有遭到弃用的现象,
指标的使用被当成了unsafe的写法,
毕竟直接存取记忆体,对许多程式撰写师而言,
实在是没有必要承受的原罪与风险。
我猜测一个很大的因素,
是因为"类别"、"物件"的使用,一部份替代了指标的作用,
我们再也不用关心数值资料在函数中来来去去的变化了,
因为物件的使用,直接达成了"牵一发而动全身"的效果,
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.61.67
1F:推 costbook :有一句话说「Java只有指标」... 07/10 15:03
2F:→ costbook :如果了解JVM的人会「会心一笑」 07/10 15:04
3F:推 costbook :多型、封装、继承 这三个观念真的是太伟大了, 07/10 15:09
4F:→ costbook :就像是非对称/公开金钥密码系统被提出来一样 07/10 15:10
5F:推 costbook :当初读到的时候内心真是震撼无比 07/10 15:12
6F:→ Eleganse :程式太小的话 是完全看不出OO的好处的 07/10 15:18
7F:→ Eleganse :甚至有脱裤子放屁的感觉 我想这就是初学者提问的主因 07/10 15:19
8F:推 costbook :所以我想拿设计模式的案例来说明 07/10 15:27
9F:→ costbook :不过我的教学功力又2266的... 07/10 15:28
10F:→ adrianshum :这篇写的东西... 好像没有哪句正确耶.... =_= 07/10 15:53
11F:推 wawawa :C语言的最新一代C#... 07/10 21:21
12F:→ fphoenix923 :C#也是有call by reference,而且比重不少 07/11 23:10
13F:→ netsphere :C语言的最新 一代C#... 07/22 22:10
14F:推 sunneo : 二代C$... 07/28 02:39
15F:推 KanoLoa : 三代吸% 07/29 15:34
16F:推 svenlee :应该说 "VM只有指标",因为现在的Dalvik VM跟Java无关 08/17 18:15
17F:→ svenlee :Java本身只是程式语言,"Java"与"VM" 不能混为一谈 08/17 18:17
18F:→ jej :其实我写了非对称公钥金钥之後..并不感到伟大.. 08/23 22:39
19F:→ jej :但被震撼到了..... 08/23 22:39