程序设计究竟是做什么事情的

08-08-29 bookview
面向功能强调数据在计算机中功能,程序架构的基本结构是函数。对于数据本身表现的它在客观世界的意义必需在函数中用标志来进行判断。函数重载,就是对同一功能不同概念的管理方法。是一种先功能再概念的思考问题的方法。

面向对象强调数据在客观世界所表达的意义,程序架构的基本结构是类。对象是程序中对客观存在的事物的数据抽象,与客观存在的事物一对一的映射,对象是类的实例化,类是对象的定义是概念性的抽象。我想接口就是对不同事物中相同功能(行为)的管理,以便于程序架构。

比如。咬是一种行为,狗能咬,人能咬,在客观世界中有张嘴的就能发生咬这个行为,

如果你先分析人,狗等再从人,狗等这些看到共同的行为咬就是一种面向对象的分析法,面向过程的反向分析法。反过来,先分析咬,再分析咬是谁发出来的这就是面向过程分析法,面向对象的反向分析法。

数据结构|设计模式,就是基于不同语言的基本结构为了方便架构的所产生的不同技术。如果你是基于函数来架构就是面向过程(功能)的设计,基于类(概念)来架构就是面向对象的设计。

你不管是用什么语言来写代码,不管向种方式来架构,在的计算机体系来说计算机依然只能是二进制数据,只是经过不同的数据翻译才能在人机交互的时候显是出我们能看得懂的、有意义的信息。软件设计核心总会是数据及它本身在客观世界中的意义的管理方法论。

而对我们这些应用别人半成品来开发的中国人,很多技术就变得多余。从B/S结构来说,我们都是B端.从C/S结构来说我们都是C端,描述是数据意义,软件的功能开发,软件的肉体。S端才是做数据管理,软件的效率的开发,软件的灵魂。

[该贴被bookview于2008-08-29 15:00修改过]

              

6
banq
2008-08-29 17:08
楼上最后一段有些极端: 而对我们这些应用别人半成品来开发的中国人,很多技术就变得多余....

站在前人的基础上思考创新,才是灵魂,不要心里老是嘀咕别人给你打包里面的东西,总是想自己也来弄个,人类文明是共同的,老外不至于因为使用了你的四大发明,心理总是嘀咕不踏实。创新才是灵魂。

freebox
2008-08-29 18:18
我只不过是个做点业务软件的人,我干嘛要从头弄一个基础设置库再来开发呢?完全可以通过购买等途径使用已经是产品级别的东西。只有业务才是我自己的。

没错我觉得acegi不方便,但我不必再开发一个认证管理的东西来支撑我的业务,只要改改acegi,拿点现成的零件出来就好了。

要是什么东西都得亲力亲为才能用,这个过程可以无限下降到电脑零件的级别,先要生产出一批零件,然后弄个CPU内存等等装配一台电脑,然后开发个操作系统,再整个应用服务器出来,最后架设企业应用。有现成的拿来用就是了,对我来说只有企业应用才是一个个完全不同的,显然也不可能相同,对企业来说也是只有企业应用才是他们最后想看到的,他们并不想知道我们在用什么,只要我们做的能够满足他们提出的这样那样的随时变化的条件就行了,我想总不至于先分析一下他们的需求,开发一个专门处理他们业务的CPU,等到需求变化时再开发另一个,性能是上去了,时间没了,市场没了,钱也没了。

bookview
2008-08-29 18:31
这是事实,为什么现在写代码的门槛越来越低,写出来的东西自己都不知道是怎么实现的。一个从来没接触过的设计的高中生都能经过短暂的培训,就能用一个千锤百炼过的框架写出完成功能的配置文件,特别在开发商业化的软件,这些东西也就行了,其他的技术不是多余是什么。

又没有说使用达人门的东西来写代码不好,我只是想说说我们虽然能写出看起来还很好用的软件,其实骨子里对设计的本质的了解还差的远呢,我们只是站在程序设计的一个点上,是用别人的设计做设计。又没说在前人的基础来创新不好,创新是一个语言功能进一步强大,更加有生命力必需具备的,一个语言无法创新的或者没人愿意为他来创新的话基本这个语言也就完了。

当然自己没有用到知识不是在程序设计的整个过程中没有用,而是在我们这环节中不必要用,用的话就是复杂化程序设计。事情的成功是环环相扣的,存在就是合理的,现在的数据库管理系统都发展到这么成熟了,为什么在有些时候用文件来存储数据依然是最好的选择呢?当然当你选择了你的选择就会约束你处理问题的方式,约束你的思考方向。

[该贴被bookview于2008-08-30 11:38修改过]

freebox
2008-08-29 18:54
等着together强大了,业务专家拿着它就能生成大把大把的可用代码并架设到服务器上,同时一并解决缓存、安全等问题,程序员对企业来说没用了,这才是企业希望的吧。企业应用的设计本质应该是业务上的本质而不是技术上的,所以只要工具足够强大,有业务专家就足够了。

但那时候还是得有人来开发together这个完全中立的东西,还是得有人开发应用服务器,还是得有人开发支持库。

我理想当中应该是together这种东西内部预置了一些解决方案,比方说ejb、ssh,只要专家们弄好了企业核心,就能选择一个方案来生成应用。

猜你喜欢
4Go 1 2 3 4 下一页