`
nychen2000
  • 浏览: 87529 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

软件设计的终极哲学是什么呢

阅读更多
我曾经两次开发过Workflow产品,第一次开发完成后,发现产品非常不令人满意,剧多拼凑成分,也发现设计模式的重要性。

一两年之后,再次设计开发同类产品,貌似设计模式用得熟了,系统架构也好多了。但是在设计方面还停留在只可意会不可言传的阶段,讲不太清楚背后的深刻哲理。


那么软件设计背后的终极哲学是什么呢?

分享到:
评论
67 楼 fangang 2009-10-13  
我正在写这方面的文章,也许能给你一些答案
66 楼 atcct 2009-10-12  
tianmo2008 写道
我学设计模式只是为了让代码结构更加灵活清晰,其他的什么哲学,没必要想那么复杂吧

ps:中国的程序员,个个文学和历史功底都很不错啊.

treenode 写道
王小波 写道

古人曾说:天不生仲尼,万古长如夜;但我有相反的想法。假设历史上曾有一位大智者,一下发现了一切新奇、一切有趣,发现了终极真理,根绝了一切发现的可能性,我就情愿到该智者以前的年代去生活。这是因为,假如这种终极真理已经被发现,人类所能做的事就只剩下了依据这种真理来做价值判断。从汉代以后到近代,中国人就是这么生活的。我对这样的生活一点都不喜欢。


做了个胡乱的不能实现的假设,然后再批判和讽刺自己的假设对象,这种写文章方式也算是一种文人的毛病吧。
65 楼 tianmo2008 2009-10-06  
我学设计模式只是为了让代码结构更加灵活清晰,其他的什么哲学,没必要想那么复杂吧

ps:中国的程序员,个个文学和历史功底都很不错啊.
64 楼 一粒蛋 2009-09-30  
万物皆有规律,人可以了解的为科学,不能了解的为“道”。每个人对复杂事物的把握能力都是不同的,对于自己把握不了的部分,只能归入“道”之中 ……

随着资历的增长,一个人越来越明白自己的界限,放弃的理想越来越多,便越来越感叹“道”之高深。“道”可不是人能掌握的——悟道的都成了仙。但是不能掌握并不影响人们讨论它,讲“道”的门槛极低,街上随便逮个老师傅都能讲得天花乱坠。

古代人文化落后,也上不了网不能怪他们。但是现代人没干什么事情就将“道”的界限 max 到极点,那就无为无力无思考可以入土了。
63 楼 woshihlp 2009-09-30  
让客户觉得好就是最高境界
62 楼 lchj 2009-09-30  
ningmenglovesoft 写道
知道世界最伟大的作品是谁写的吗?老子的《道德经》,几千字概括了世界上的一切。软件的终结设计哲学请参考《道德经》,我也不知道,哈哈,飘过

《易》乃大道之源,变化才是根本
61 楼 lchj 2009-09-30  
xly_971223 写道
lchj 写道
作为中国人,总读过几句道德经的开篇的话吧,道可道,非常道。真正的道是说不出来的,真正的设计终极哲学也是无法用言语表达的。你看面向对象的那一大堆术语,新人看他个几百遍都领悟不了的,即使了解了也理解不了,即使理解了,也掌握不了,即使掌握了,也无法形成设计自觉。


这个道可道 非常道这不正是王小波说的'终极真理'?

引用
这是因为,假如这种终极真理已经被发现,人类所能做的事就只剩下了依据这种真理来做价值判断。

几天没来看,竟然长了不少页。而且javaeye这几天比较慢,不知道是不是和谐了。
我写这段话的本意是想说,从来就没有终极,如果有,我愿意相信生死是终极,这个就有点扯了,呵呵。所以我相信可以有设计,但是没有终极设计,我的想法是设计差不多就行了,到没时间时就是差不多的时候。设计是个险恶的问题,我不相信一次搞定的设计,我相信迭代、回顾、反思、修正。
以前讲设计,一个目标是达到最大的复用,月前大牛Trustno1的《银弹的数学解释》(http://www.iteye.com/topic/452701),我是觉得挺有收获,设计犹如质因数分解,找到系统的最纯粹的组成单元。数是无穷的,质素也是无穷的,质因数分解也是无穷的。而且不同的行业有不同的质素分布,好比2、4、6、8,3、6、9,17、51,153,我更不看好为了复用而设计了。
现在我愿意为了简单而设计,如果1+1就能搞定,我不愿信去写789-456-331。简单意味着以后的修改不会很难,简单意味着没有复杂的概念,简单意味着一致,意味着分解、封装,总而言之就是将人的大脑负担尽量降低。复用是我,写完代码后的事儿。
60 楼 nychen2000 2009-09-30  
whaosoft 写道
找了半天几乎没看到 有建设性意义的~!~
lz别着急 你不也做了两次了 总结一下 在细细的考虑下

头一次做一种产品 肯定不是那么完美的~


谢谢whaosoft鼓励,我看到了一些比较有启发性的发言。

但是,这个帖子居然被评为“灌水贴”,让我很失望,说明javaeye上还是缺少“思想者”啊。
59 楼 whaosoft 2009-09-30  
找了半天几乎没看到 有建设性意义的~!~
lz别着急 你不也做了两次了 总结一下 在细细的考虑下

头一次做一种产品 肯定不是那么完美的~
58 楼 xly_971223 2009-09-29  
lchj 写道
作为中国人,总读过几句道德经的开篇的话吧,道可道,非常道。真正的道是说不出来的,真正的设计终极哲学也是无法用言语表达的。你看面向对象的那一大堆术语,新人看他个几百遍都领悟不了的,即使了解了也理解不了,即使理解了,也掌握不了,即使掌握了,也无法形成设计自觉。


这个道可道 非常道这不正是王小波说的'终极真理'?

引用
这是因为,假如这种终极真理已经被发现,人类所能做的事就只剩下了依据这种真理来做价值判断。
57 楼 yangyi 2009-09-28  
goodjin 写道
mock1234 写道
treenode 写道
王小波 写道

古人曾说:天不生仲尼,万古长如夜;但我有相反的想法。假设历史上曾有一位大智者,一下发现了一切新奇、一切有趣,发现了终极真理,根绝了一切发现的可能性,我就情愿到该智者以前的年代去生活。这是因为,假如这种终极真理已经被发现,人类所能做的事就只剩下了依据这种真理来做价值判断。从汉代以后到近代,中国人就是这么生活的。我对这样的生活一点都不喜欢。

做了个胡乱的不能实现的假设,然后再批判和讽刺自己的假设对象,这种写文章方式也算是一种文人的毛病吧。


这不是个胡乱的不能实现的假设,而是:从汉代以后到近代,中国人就是这么生活的。

陆九渊说,学苟知本,六经皆我注脚。
人之心有大仁焉,需正心,诚意以致良知。无善无恶是心之本体,仁是立身的大道,而不是所谓的天理,道理是在实践中通过致良知而获得的,在宋代朱子新儒之前的汉代,佛学未曾星期,儒道释并非一体,所以说从汉代到近代是错误的。而明中后期,王学的兴起也非认同天理,所以你这种说法是错误的。
56 楼 yangyi 2009-09-28  
系统学=道 软件体系结构=经 框架和设计模式=器
55 楼 goodjin 2009-09-28  
mock1234 写道
treenode 写道
王小波 写道

古人曾说:天不生仲尼,万古长如夜;但我有相反的想法。假设历史上曾有一位大智者,一下发现了一切新奇、一切有趣,发现了终极真理,根绝了一切发现的可能性,我就情愿到该智者以前的年代去生活。这是因为,假如这种终极真理已经被发现,人类所能做的事就只剩下了依据这种真理来做价值判断。从汉代以后到近代,中国人就是这么生活的。我对这样的生活一点都不喜欢。

做了个胡乱的不能实现的假设,然后再批判和讽刺自己的假设对象,这种写文章方式也算是一种文人的毛病吧。


这不是个胡乱的不能实现的假设,而是:从汉代以后到近代,中国人就是这么生活的。
54 楼 hit.java 2009-09-28  
软件设计的哲学就是,为扩展而开放,为修改而封闭。
53 楼 wondery 2009-09-28  
最简朴、最貌似废话的那句

如这句‘屁’话: 格斗的本质——攻、防。
52 楼 mikeandmore 2009-09-28  
不为了设计而设计。不为了抽象而抽象。
51 楼 kaki 2009-09-28  
哲学的终极就是【让自己明白、让别人明白】,且降低明白的代价。
50 楼 King.Arthur 2009-09-28  
觉得软件设计是以实践为导向的
上升到哲学的层面有点虚
49 楼 nychen2000 2009-09-28  
hatedance 写道
我理解的设计就是:抽象.
把纷繁的业务逻辑抽象到合适的级别.


受教了 
48 楼 hatedance 2009-09-28  
我理解的设计就是:抽象.
把纷繁的业务逻辑抽象到合适的级别.

相关推荐

    计算机程序设计语言的终结

    ### 计算机程序设计语言的发展趋势与终极思考 #### 核心观点解析 本文探讨了一个有趣且富有挑战性的议题——计算机程序设计语言的发展趋势及其可能达到的终点,并提出一个引人深思的观点:面向对象编程可能是程序...

    Qt 页面切换终极资料

    在IT领域,特别是软件开发中,Qt是一个非常流行的开源跨平台应用程序框架,它基于C++,为开发者提供了丰富的API和工具来创建用户界面和...同时,深入理解Qt的设计哲学和C++编程,将使你在软件开发的道路上更进一步。

    C程序设计语言(第二版,中文版)

    本书的内容由8个章节和4个附录组成,涵盖了C语言的基础知识和进阶知识点,旨在帮助读者不仅掌握C语言的基本语法和结构,而且能够理解C语言的设计哲学和实践技巧。这样的内容安排使得它非常适合大专院校的师生以及...

    高考终极压轴卷——语文(新课标I卷).doc

    7. **系统思维**:“阴阳五行”哲学思想在饮食中的应用,反映了系统性思维,这在系统分析、软件架构设计中同样重要,需要考虑各元素间的相互关系和平衡。 8. **健康与科技**:“食医结合”理念在现代IT行业也有体现...

    开源主机、服务和网络监控平台Nagios终极探

    这种设计哲学使得Nagios成为一个轻量级的框架,可以根据用户需求通过扩展插件来实现各种复杂的监控场景。 Nagios的报警功能同样依赖于外部系统或插件来完成,这使得其自身保持了专注于核心功能——监控。这种设计...

    虚拟现实技术的发展及其思考.pptx

    60年代,Ivan Sutherland的"速写板"系统和"终极显示"报告为虚拟现实技术奠定了基础。70年代,虚拟现实之父Jaron Lanier的"人工实在"系统和数据手套的发明,进一步推动了技术的发展。80年代至90年代,虚拟现实开始...

    开源世界旅行手册(Ubuntu教程第二版)

    关于UNIX文化,作者在书中详细介绍了UNIX的设计哲学,包括它为什么不仅仅适合计算机专家,还阐述了反对使用Windows的理由,以及如何完全使用GNU/Linux进行工作。这部分内容使读者能够更好地理解UNIX精神,并且学习到...

    我将努力变得更轻(外二首)

    例如,苹果公司的产品设计哲学就强调“少即是多”,即以最少的设计元素提供最优的用户体验。 3. 庖丁解牛的比喻与软件开发流程 庄子在《庖丁解牛》中描述了一位厨师解牛的高超技艺,其中“以无厚入有间”,可以被...

    基于用户行为的数据分析与挖掘.pdf

    基于用户行为的数据分析与挖掘是一个涉及数据采集、存储、处理、分析和挖掘等多个环节的复杂过程,其目的是通过深入分析用户的上网行为模式,以期找出提升用户体验、优化产品设计、增加业务转化率等商业价值。...

    python经典入门资料

    Python的设计哲学强调代码的可读性,使用英语中的关键字而不是标点符号。它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。 2. Python的特性:Python因其可读性和简洁的语法而广受欢迎,它允许...

    Practical Vim Edit Text at the Speed of Thought.

    - **Vim的思维方式**:讲解Vim背后的设计理念及其对提高工作效率的影响。 - **高效工作模式**:分享如何通过Vim实现快速编码和高效文本处理的经验。 #### 读者反馈精选 多位软件工程师和技术专家分享了他们阅读本书...

    Git 魔法-PDF

    Mercurial是另一个流行的分布式版本控制系统,与Git相似但有着不同的设计哲学。 **Bazaar** Bazaar是另一个DVCS,由Canonical公司发起,用于Ubuntu项目。 **我偏爱Git的原因** Git因其高性能、灵活性和强大的...

    2013年CIO需要知道的八句格言

    - **背景与理解**:Salesforce CEO马克·贝尼奥夫提出的这一观点反映了当时软件设计的趋势——更加注重用户体验和社会互动性。他主张企业软件应当像社交网络一样直观易用。 - **实践意义**:这意味着CIO需要关注软件...

    Git Magic(英文版)

    回顾了Git的开发背景和历程,了解其设计哲学和创新之处。 ### 八、Git的局限 #### 微软Windows 指出了Git在Windows系统下的兼容性和性能问题,为用户提供了解决方案。 #### 不相关的文件 讨论了如何处理项目中的...

Global site tag (gtag.js) - Google Analytics