📄 187.txt
字号:
日月光华 -- SE精华区文章阅读
--------------------------------------------------------------------------------
发信人: jiachong (甲虫), 信区: SE
标 题: [转载]4.设计模式 jiachong
发信站: 日月光华 (2003年04月09日12:48:00 星期三), 站内信件
【 以下文字转载自 SE 讨论区 】
【 原文由 jiachong 所发表 】
软件工程之——设计模式篇
Christopher Alexander 在《建筑学的永恒方法》中,严谨的定义了术
语——模式。
1.每个模式是一个由三部分组成的规则,它表示了一个特定环境、一个
问题和一个解决方案之间的关系。
2.作为语言的一个元素,一个模式是一个说明,它说明了如何使用这个
空间配置,不断求解给定的强制条件体系,只要环境是和它相关的。
3.简单的说,模式是在同一时间里发生在世界上的一件事物和如何创建
这个事务以及我们何时必须创建它的规则。它既是一个过程,又是一个事物;
既是一个活生生的事务的描述,又是产生那个事务的过程描述。
模式关注着在一个特定的设计环境中出现的重复设计问题,并为该问题
提供一个通用的解决方案,模式记录着已经成功实践的设计经验,是一种设
计抽象技术,推动了软件复用技术在更高抽象粒度上的发展,同时大大提高
了软件质量属性。例如:Java语言的实现机制中,就广泛地采用了一些著名
的设计模式。
根据模式的抽象的粒度的从大到小,软件模式一般可以分为:构架模式、
设计模式和惯用模式三种。
构架模式描述了软件的系统构架级别上的组织方案,著名的构架模式有
层模式、管道过滤器模式,模型/视图/控制模式,代理模式,客户机/服务器
模式等等。
设计模式是一个组件粒度上、中等规模的模式,它不会影响整个软件构
架,但是对于子系统/组件的质量有着很大的影响。著名的设计模式有:代理
模式,策略模式,工厂模式,组合模式等等。
惯用模式则用来解决某种程序设计语言中具体实现的模式。如:引用计
数,单件模式等等。
四位著名的领军人物——模式团体的“四人帮”Erich Gamma, Richard
Helm,Ralph Johnson和John Vlissides为模式在软件工程的重要地位和取得
广泛共识做出了巨大的贡献。此后,Robert Martin, Peter Coad也在致力于
模式方面的工作。如今模式的研究已经有了丰硕的成果,大家可以看到前人
已经总结的大量的成熟的设计模式,并且可以方便的将这些模式与模式理念
应用在各种软件产品中。我们可以这样断定,一位软件开发人员,如果不懂
模式并且在开发过程中不知道将模式合理应用在程序中的话,这位开发人员
的程序将永远不能登入大雅之堂。
--gill整理
--
这个世界总会有点不公正
但是我们总能用心去平衡
※来源:·日月光华 bbs.fudan.edu.cn·FROM:[甲虫窝]
※ 修改:·jiachong 於 03月04日20:51:42 修改本文·[FROM: 218.79.59.90]
--
※ 转载:·日月光华 bbs.fudan.edu.cn·[FROM: 61.170.202.109]
--------------------------------------------------------------------------------
[返回上一页] [本讨论区]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -