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

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

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

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


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

分享到:
评论
27 楼 iaimstar 2009-09-27  
这个我觉得和设计无关,好的设计不过是
发现问题,解决问题,尝试更好的解决问题->然后解决问题的方法成为经验,然后在整理成模式

所以如果要做到好的设计,懂多少设计模式是没有意义的,关键在于发现问题的能力

在软件行业里面,系统的复杂到一定程度,单独靠思考不一定能发现潜在的问题,这个时候,经验就变成尤为重要的一环,经验可以告诉你可能出现问题的环节.

只要能提前发现问题,修正设计,那么设计就会越来越来,因为你的经验越来越足,眼光也来越老道,如果所谓领会了哲学,也不过是经验相传,品起来妙不可言,能力尚缺的自己用就不是那么回事了
26 楼 bjsq618 2009-09-27  
好的软件,其实就是现在用户使用着好,以后扩展性好就可以了
25 楼 loveyeah 2009-09-27  
哲学,是与时代相关
软件哲学,那么就应该和软件的发展相关
批判地接受,

无终极的哲学
与时俱进吧

对于软件设计,“和谐”——让所有人员和谐

研究一下“科学发展观”,也许有些帮助
24 楼 neodoxy 2009-09-27  
linliangyi2007 写道
设计的原则最终体现的是对象与对象间的交互/访问的行为,这种行为的具体表现是接口(这里的接口不是指java中的interface)而是广义的抽象。

这是建立在OO是终极思想的前提下
23 楼 lucane 2009-09-27  
软件开发的终极哲学就是搞定你要解决的问题。。。

PS.这是废话
22 楼 nychen2000 2009-09-27  
很遗憾,我这个帖子或许引起的误解比较多。

我在这里不是想和大家讨论道德经等纯粹的哲学问题,是想讨论一下能够指导软件设计的方法论之类的问题。

21 楼 yuanhao14 2009-09-27  
lchj 写道
作为中国人,总读过几句道德经的开篇的话吧,道可道,非常道。真正的道是说不出来的,真正的设计终极哲学也是无法用言语表达的。你看面向对象的那一大堆术语,新人看他个几百遍都领悟不了的,即使了解了也理解不了,即使理解了,也掌握不了,即使掌握了,也无法形成设计自觉。
而且,软件是用二进制翻译现实世界的活计,你对世界有多少认识,你就对软件设计有多少认识,同样,你对软件设计有多少认识,你就对世界有多少认识。你能用一种模式来解释世界么?
记得代码大全说,设计是个险恶的问题,所谓险恶的问题就是除非你自己做过一遍,你才能知道其中有多少风险;古人说不识庐山真面目,只缘身在此山中。要通晓设计,还真得靠经验,不管是前任的经验,还是自己的经验。不管是书上的经验,还是实践的经验。可惜总会我们不知道、不认识的,我们永远只是通宵已知的已知和已知的未知,而无法通晓未知的未知。


已知的未知的n次幂可以推导出未知的未知
20 楼 chunfengxixi 2009-09-27  
treenode 写道
王小波 写道

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

深有同感!
18 楼 linliangyi2007 2009-09-27  
设计的原则最终体现的是对象与对象间的交互/访问的行为,这种行为的具体表现是接口(这里的接口不是指java中的interface)而是广义的抽象。
17 楼 lnaigg 2009-09-27  
软件设计背后的终极哲学是。。。。。。。。没有银弹
16 楼 tvjody 2009-09-27  
怎么感觉很多人像道士一样,在传播玄幻之术,个个像得道高人,张口《道德经》,好像悟出了什么玄机。
15 楼 falchional 2009-09-27  
这是一个很深入的问题,探究中,可谓设计......
14 楼 hong_1121 2009-09-27  
现在往往是门外汉领导行业人
13 楼 hongkong 2009-09-27  
这问题一扯就远咯
最后估计会扯到,人从何处来,欲往何处去
12 楼 mxswl 2009-09-27  
既然说是哲学,那么就不要再和软件这一小毛孩挂上关系了.
哲学永远与一切应用技术无关. 他是最纯最精的抽象.
11 楼 gaoran2008 2009-09-27  
用简单的方法解决复杂的业务。
10 楼 nychen2000 2009-09-27  
tianmo2008 写道
因为公司要个论坛,这两天看了jforum论坛的代码,说实在的,吃惊不小,
因为工作以来一直在写ssh,身边的同学同事基本也是搞这一套的,所以接触的系统都是大同小异的ssh整合,再加上网络上ssh几乎只手遮天的气愤,日子久了慢慢的失去了编程的激情和发展的方向。
这两天看了jforum论坛的代码,确实眼前一亮,完全看到一种有别于ssh底层的编程风格,也意识到自己确实在ssh越陷越深了,确实应该抽点时间出来,多接触点其他领域的程序,放广一下自己的视野。
虽然自己以前也一直想搞点别的,但因为工作的原因,代码一直围着ssh,和身边的朋友聊天,基本也离不开ssh的话题的,思路慢慢地被绑定在上面,这两天真的测底意思到井底蛙的目光了。



这个回复太有点文不对题了吧。
9 楼 tianmo2008 2009-09-27  
因为公司要个论坛,这两天看了jforum论坛的代码,说实在的,吃惊不小,
因为工作以来一直在写ssh,身边的同学同事基本也是搞这一套的,所以接触的系统都是大同小异的ssh整合,再加上网络上ssh几乎只手遮天的气愤,日子久了慢慢的失去了编程的激情和发展的方向。
这两天看了jforum论坛的代码,确实眼前一亮,完全看到一种有别于ssh底层的编程风格,也意识到自己确实在ssh越陷越深了,确实应该抽点时间出来,多接触点其他领域的程序,放广一下自己的视野。
虽然自己以前也一直想搞点别的,但因为工作的原因,代码一直围着ssh,和身边的朋友聊天,基本也离不开ssh的话题的,思路慢慢地被绑定在上面,这两天真的测底意思到井底蛙的目光了。
8 楼 TheMarine 2009-09-27  
真实!真实的还原真实的情况.

相关推荐

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

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

    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