书评--设计模式入门

来源:互联网 发布:linux 网站 编辑:程序博客网 时间:2024/05/12 17:07

个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


个别问题的最佳解答

成熟的产业,应该有很多经典的设计,广为流传的想法,共通的价值。由于信息硬件突飞猛进,信息应用面快速深入所有环节,导致需求多样与设计复杂。在开发与使用软件时,我们期待各种问题的最佳解答。

十多年前,Erich GammaRichard HelmRalph JohnsonJohn Vlissides (由于太有名了,一般称之为四人帮 Gang of Four GoF)仿效建筑师 Christopher Alexander 为建筑找模式(Pattern) [1],让设计这种抽象行为,也有可效法的准则。GoF 则为软件设计找模式。

除去资源、经费、时程等外在因素,在评估团队或个人是否可以成事时,往往以知识、技能和实践力为考虑点。知识代表着广度与深度,是解决问题的潜能。技能是驾御平台、工具、程序语言等实质技术的熟悉度,实践力则看人格特质了。而模式可算是平日培养设计能力的基本知识,当对于你所碰到之特殊问题能提出适当的解法,就是技能了。

初探对象导向与设计模式

在此介绍一本好书:设计模式入门(Design Patterns Explained:A New Perspective on Object-Oriented Design[2]),此书并非像坊间其它介绍设计模式的书,以某种程序语言,如 C++JavaC#VB.NET 等,条列 GoF 提出的 23 种设计模式之程序写法,两位作者仅以简单的例子描述如何应用几个常见的设计模式,如:FaçadeAdapterBridgeAbstract FactoryStrategyDecoratorSingletonDouble-Checked LockingObserverTemplate MethodFactory Method 等。

本书的重点在于对象导向分析设计的入门与模式的应用,因此在章节设计上,是穿插对象导向的特征,再以数个模式搭配说明。并非全然的模式介绍,也非讨论对象导向分析设计与撰写的专书。

模式可以帮我们提升思考的层级,作者在书中举了一个例子,当两个木匠讨论如何将两块木板 90 度接合时,木匠一问到:是要采用「楔形榫头接口」,还是「45 度角斜接面」?

楔形榫头代表两块木板的周缘皆切割成许多小的锯齿,像拼图一般接合两块木板,这代表了美观、耐用与高质量,但成本也较高。而 45 度角斜接面仅是将两块木板的周缘各磨出 45 度的斜切面,这隐含了速成、简陋但刚好合用。而木匠以他们自己所熟知的模式在讨论时,有两个层次,一是真实的设计方式,另一个层次代表着质量与成本。而模式就是解决问题的经验,并可帮助提升思考的层次。

书中描述模式的方式是先提出问题,并直观地给予解答,而后再描述该解答的不足,接着套用模式重新设计解法,并辅之以程序代码和评析,最后重点提示并做个总结,反复地描述以加深印象。

本书是以 Java C++ 当作解说用的语言,但仅是点到为止,当作解说意念的一部份,毕竟模式的实作偏于抽象,仅是 UML(United Modeling Language)的类别图(Class Diagram)呈现关联,会令不熟悉 UML 的程序设计师难以揣摩,程序代码可以让我们较为踏实地感受其论述J

阅读建议

讨论设计的书向来都不好读,一则是抽象的东西不容易吸收,因为未亲身经历,很难领会其义。二则是其论述不一定在工作中立刻用得上,不如技术类的工具书,直接对应相关操作或撰写程序的问题。这类书适合有读书习惯,且深思熟虑的读者,面对问题不仅问 How,如何去解决。更有兴趣研究 What Why。然而,静得下来坐得住,这往往要靠时间焠炼。享受豁然开朗之乐,先需经验养成。

本书定位为入门书,一开始便讨论对象导向的基本特色,若不熟悉对象导向分析,或仅稍有认识,都可以透过第一章先了解基本名词的定义与优点,以及第二章的 UML 语言简介。其后,循序渐进地展开越来越复杂的设计,先后以 CAD/CAM 和销售系统 e-tail 为范例,解释结构性、行为性和创造性三类的模式。你可逐章阅读,赏析各个模式的特性。

本书所介绍的模式不多,在相关章节以实例说明该模式的用途后,皆会以模式语言(Pattern Language)或模式模板(template)做个重点提示。也就是以:目的、问题、解法、参与者与合作者、结果、实作等面向,描述该模式。并附上对 GoF 原著的参照页数。建议你有了概念后,透过此加深对该模式的认知。

最后,本书的译文有些许文字误谬,审校不够严谨。但无损于整体概念,对于传达技术本身并没有问题,或可不必计较这些瑕疵,着重于琢磨作者提供的分析经验。

相关阅读

本书的最后一章( 22 )即为参考数据,你可以作为延伸阅读的依据。另外,与本书的相关网址:http://www.netobjectives.com/dpexplained/。若你不欲购买本书,或可在该网站逛逛。

而关于设计模式的原始巨著:Design Patterns: Elements of Reusable Object-Oriented Software,作者 Erich GammaRichard HelmRalph JohnsonJohn Vlissides。出版社 Addison Wesley. October 1994。本书是众多书籍援引的经典J



[1] Pattern 的中译很多,如范式、样式,在此谨依照本书译者所使用的名词。

[2] 此书的英文版于 2004/10 已经有第二版了,可惜台湾祇有第一版的译本。

 


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 白色衣服弄上口红怎么办 口红弄到牛仔裤上怎么办 口红弄到沙发上怎么办 做了拔罐后背疼怎么办 拔罐拔出血水后怎么办 拨了罐浑身疼怎么办 拔完火罐洗澡疼怎么办 拔罐之后脊背疼怎么办? 五个月的狗胆小怎么办 电脑颜色不正常分辨率调不了怎么办 宝宝认人怎么办 五个月 新生儿42天听力筛查未通过怎么办 幼儿大便干燥拉不下粑粑怎么办 宝宝大便干燥拉粑粑带浓血怎么办 新生儿便秘4天了怎么办 写卷子的题目不认识怎么办? 2个月小猫尿床怎么办 安全教案鱼刺卡住了怎么办 被鱼刺卡住怎么办安全教案 小班健康教案生病了怎么办 被蜜蜂蛰了怎么办教案 走丢了怎么办大班反思 小孩吃了硬物怎么办 小孩吞了硬物怎么办 小学二年级孩子成绩不好怎么办 二年级孩子成绩不好怎么办 一年级学的不好二年级怎么办 17个月宝宝夜奶怎么办 小孩吃积食了吐怎么办 11个宝宝不会爬怎么办 5岁宝宝严重挑食怎么办 孩子吃菜口味重怎么办? 孩子挑食不吃菜不吃肉怎么办 微信新的朋友回复频繁怎么办 忘了闺蜜生日怎么办 把闺蜜生日忘了怎么办 忘了闺蜜的生日怎么办 一岁宝宝不吃菜怎么办 幼儿园教案虫子爬进耳朵怎么办 鼻子出血怎么办幼儿说课 英语记不住发音不准怎么办