转自:板桥里人 http://www.jdon.com 2002年6月26日
CSDN的透明特别推崇《建筑的永恒之道》,认为从中探寻到软件的永恒之道,并就"设计模式"写了专门文章《探寻软件的永恒之道 》,其中很多观点我看了很受启发,以前我也将"设计模式" 看成一个简单的解决方案,没有从一种高度来看待"设计模式"在软件中地位,下面是我自己的一些想法:
建筑和软件某些地方是可以来比喻的
特别是中国传统建筑,那是很讲模式的,这些都是传统文化使然,比如京剧 一招一式都有套路;中国画,也有套路,树应该怎么画法?有几种画法?艺术大家通常是创造出自己的套路,比如明末清初,水墨画法开始成熟,这时画树就不用勾勒这个模式了,而是一笔下去,浓淡几个叶子,待毛笔的水墨要干枯时,画一下树干,这样,一个活生写意的树就画出来.
我上面这些描述其实都是一种模式,创建模式的人是大师,但是拘泥于模式的人永远是工匠.
再回到传统建筑中,中国的传统建筑是过分注重模式了,所以建筑风格发展不大,基本分南北两派,大家有个感觉,旅游时,到南方,你发现古代名居建筑都差不多;北方由于受满人等少数民族的影响,在建筑色彩上有些与南方迥异,但是很多细节地方都差不多.这些都是模式的体现.
由于建筑受材料和功用以及费用的影响,所用模式种类不多,这点是和软件很大的不同.
正因为这点不同,导致建筑的管理模式和软件的管理模式就有很多不同, 有些人认识不到这点,就产生了可以大量使用"软件蓝领"的想法,因为他羡慕建筑中"民工"的低成本.
要知道软件还有一个与建筑截然相反的责任和用途,那就是:现代社会中,计划感不上变化,竞争激烈,所有一切变幻莫测,要应付所有这些变化,首推信息技术中的软件,只有软件能够帮助人类去应付各种变化.而这点正好与建筑想反,建筑是不能帮助人类去应付变化的,(它自己反而要求稳固,老老实实帮助人遮风避雨,总不能叫人类在露天或树叶下打开电脑编软件吧).
软件要帮助人类去应付变化,这是软件的首要责任,所以,软件中模式产生的目的就和建筑不一样了,建筑中的模式产生可以因为很多原因:建筑大师的创意;材料的革新等;建筑中这些模式一旦产生,容易发生另外一个缺点,就是有时会阻碍建筑本身的发展,因为很多人会不思创造,反复使用老的模式进行设计,阻碍建筑的发展.
但是在软件中,这点正好相反,软件模式的产生是因为变化的东西太多,为减轻人类的负担,将一些不变的东西先用模式固化,这样让人类可以更加集中精力对付变化的东西,所以在软件中大量反复使用模式(我个人认为这样的软件就叫框架软件了,比如J2EE),不但没阻碍软件的发展,反而是推动了软件的发展.因为其他使用这套软件的人就可以将更多精力集中在对付那些无法用模式的应用上来.
可以关于建筑和软件中的模式作用可以总结如下:
在软件中,模式是帮助人类向"变化"战斗,但是在软件中还需要和'变化'直接面对面战斗的武器:人的思维,特别是创造 分析思维等等,这些是软件真正的灵魂,这种思维可以说只要有实践需求(如有新项目)就要求发生,发生频度高,人类的创造或分析思维决定了软件的质量和特点。
而在建筑中,模式可以构成建筑全部知识,当有新的需求(如有新项目),一般使用旧的模式都可以完成,因此对人类的创造以及分析思维不是每个项目都必须的,也不是非常重要的,对创造性的思维的需求只是属于锦上添花(除非人类以后离开地球居住了〕。
分享到:
相关推荐
建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之 Factory(工厂方法和抽象工厂) ...
建筑和软件中模式之异同 2:GoF 设计模式 A.创建模式 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用new 一样频繁. 设计模式之Prototype(原型) 用原型实例指定创建对象的种类,并且通过拷贝这些...
工程制图作为工科专业的一门重要技术基础课,其核心任务之一是实现空间要素和平面要素之间的相互转化,而CAD软件在此过程中起到了至关重要的作用。 在工程制图教学中,CAD软件可以承担两类功能:一是作为教学辅助...
- **软件领域的引入**:1987年,肯特·贝克和沃德·坎宁安首次尝试将模式思想应用于Smalltalk编程语言中的图形用户界面设计,但由于缺乏关注并未引起广泛反响。 - **里程碑事件**:1995年,“四人组”(艾瑞克·...
使设计者脱离独立设计模式,而处于统一的项目设计环境中,实现项目文件和个人文件的统一管理,增强各专业间和设计师之间的信息沟通。 各专业图纸相互引用,相互关联,各专业可随时了解其它专业图纸更新内容,自动...
PKPM软件是一款在中国广泛应用的建筑工程设计软件,尤其在结构设计领域具有广泛的影响力。该软件提供了多种功能,包括结构计算、风荷载分析、次梁设计、井字梁结构计算、混凝土柱的计算长度系数和轴压比计算等。以下...
6. "生态建筑"与"节能建筑"的异同:对比两种建筑理念,研究其在设计、施工和运营中的差异和共同点。 7. 大学教学楼建筑节能设计:涉及绿色建筑设计原则,如能源效率、自然通风和采光优化。 8. 水电站施工结构设计...
岸线变形作为岸滩演变的简化模式,对于理解和预测海岸线的变化具有重要意义。 在分析和比较几个沙质海岸岸线数值计算模型时,宋荔钦教授提出了几个重要的模型,它们分别是Genesis、Litpack、Unibest和SAND94。这些...
通过这些练习,用户不仅可以掌握基本的阵列和偏移操作,还能提升在AutoCAD中创建复杂图形的能力,这对于设计、工程和建筑等领域的工作至关重要。此外,不断地实践和尝试不同类型的阵列与偏移组合,有助于培养解决...
数据通信与计算机网络是信息技术领域的核心组成部分,其中广域网(WAN)技术扮演着至关重要的角色。广域网是一种跨越广阔地理...同时,通过仿真软件如ENSP进行实践操作,有助于深入理解这些协议的工作原理和配置方法。
计算机网络是信息技术领域中的核心组成部分,它涉及硬件、软件、协议和网络架构等多个方面。本试题主要考察了计算机网络的基础概念、网络拓扑结构、网络分类、IP地址、子网掩码、网络层次模型以及相关协议和服务。 ...
- **模糊识别与智能系统**:专注于模糊逻辑理论及其在人工智能、模式识别等领域中的应用,旨在解决复杂环境下的不确定性问题。 - **机械工程**:虽然看似与计算机硬件不太相关,但实际上,在现代制造业中,机械装备...
- **内容**: 深入理解AutoCAD Civil 3D 和AutoCAD之间的异同,了解它们各自的优势和适用场景。 - **重要性**: 明确这两款软件的关系有助于学员更高效地学习和使用AutoCAD Civil 3D。 #### 八、模板文件与夹点编辑 ...
目 录 前言 第一部分 安装Linux操作系统 作为服务器软件 第1章 Linux发行版本与Windows NT的 技术异同 1 1.1 Linux操作系统和Linux发行版本 1 1.2 “自由”软件和GNU许可证 1 1.2.1 什么是...