文件名称:关于设计模式的思考-算法设计与分析 第3版__王晓东编著+有目录+高清
文件大小:2.52MB
文件格式:PDF
更新时间:2024-06-29 14:14:44
C++
5.1 关于设计模式的思考 近读程序员第六期,有读者致信,言及模式必须有场景,空谈无用。其言词之激烈,语 态之急切,实不为讨论、商榷姿态。然立论虽似有理,实需商榷,识之。模式范畴太大,这 里就笔者熟悉的设计模式做一讨论,供参考。 —— 题记 我向来是推崇设计模式,花了较多的时间学习、使用、研究设计模式,并将自己在学习 过程中的思考和体会会同编写的C++源码整理到了PDF文档(GoF 23 种设计模式解析附C++ 实现源码),放在Blog*免费下载,不到一月的时间即有 1500++的访问下载量,足见对于 设计模式的重视和学习期望。 由于是科班出生,接触编程算来也有 5 年多的时间了,从面向过程的范式到面向对象的 范式;实际参与项目也有 1 年多的时间了,加上自己实现的编译系统(Visual CMCS),也 算是做了一些实际的项目开发,从刚开始的只是介入 Code,到后来自己要做设计、架构。 OO 的影响及其与面向过程范式的比较,无需我赘言。但是正如我在设计模式解析的后记中 谈到的:只有真正理解了设计模式,才知道什么叫面向对象分析和设计。虽然看起来有些偏 激和绝对,但是也确实是许多的经历和经验中的感触和感悟。这里有关于模式的几点感想列 出来: 一、设计模式强调的是思想,而不是一门技术。这里有一个常见的误解(个人观点), 有人把设计模式视为一门技术,其实这是值得商榷的。我的理解是设计模式与其说是一门技 术,更加应该是一种思想,一种 OO 设计的思想。设计模式实在应该属于面向对象分析和设 计的范畴,和实际的编码关联反而很小。学习设计模式的过程,实际上是接受面向对象系统 设计分析的熏陶,随风潜入夜,润物细无声,然后在 OO 开发和设计中你就会不自觉使用这 些思想,你以就慢慢地体会到什么是 OO 的分析和设计。 二、道不远人。设计模式指导我们怎样去创建、维护、分配面向对象系统中的实体类, 以获得高内聚、低耦合的面向对象系统,从而提高系统的可维护性和可复用性。设计模式是 OO 的一些设计思想的一个总结(但不是全部),因此设计模式和 OO 的设计原则经验没有 矛盾,而是殊途同归。这也是我在设计模式解析后记中突出强调的一点:设计模式不是空的 第 170 页 共 171 页 k_eckel