文章分类 - 设计模式
摘要:今天开始这个系列之前,心里有些恐慌,毕竟园子里的高手关于设计模式的经典文章很多很多,特别是大侠李会军、吕震宇 老师的文章更是堪称经典。他们的文笔如行云流水,例子活泼生动,讲解深入浅出。好在他们都是用C#描述,也没有提供必要的源码下载,所以我这里用C++实 现。首先我想声明的是我的文笔绝对不如他们的好
阅读全文
摘要:作者在本篇中将继续发展我们对于面向对象设计的新视角。。。。??? 纳尼,还有新视角?第二十章 从面向对象设计的新视角进行的设计模式回顾面向对象范式的几条原则:“对象”是定义良好的责任的东西。对象对自己负责“封装”意味着任何形式的隐藏:使用共同点/变化点分析抽象出行为和数据中的变化点。数据隐藏类隐藏(...
阅读全文
摘要:本篇中,另一个案例。作者将描述一个当前正在工作的系统,当新的需求到来而被迫修改代码时,如何找到一个最好的途径。第十四章 Strategy(策略)模式选择短期最简单的途径会在最后使问题严重复杂化。。。(人的懒惰所致)我们不会忽略每过一段时间为汽车更换机油。的确,我们可以不必每3000英里就更换。但也不...
阅读全文
摘要:第四篇 将所有这些放在一起:用模式的方法思考第11章 专家如何进行设计Alexander的方法是“将注意力集中在高层关联上”设计常常被想成一个“合成”的过程。。。。“整体”是由“部分”组合在一起而创建的。。。但是在将这些片段组合在一起之后。。。再将注意力从局部转移到整体的时候,大家都会潜移默化地去考...
阅读全文
摘要:到这一部分结束时,读者讲明白什么是设计模式,为什么它们有用,并且熟悉这四个特定的模式。设计模式简介设计模式产生于建筑学和人类学。Alexander认为建筑学系统中的确存在这样的客观依据。“评价一个建筑物是否美观”并不仅仅是一个品味的问题。我们可以通过可以衡量的客观标准来描述美观程度。Alexande...
阅读全文
摘要:一个急需灵活代码的问题传统面向对象设计,过高的继承体系导致紧耦合、底内聚。1、我们必须使用相同的方法从不同的CAD/CAM系统中提取信息。这可以让公司耗资巨大的系统继续工作,而不必在CAD/CAM系统每次发生变化时都做出代价昂贵的修改。2、我们拥有两个系统,它们有完全不同的实现方式,尽管它们包含的信...
阅读全文
摘要:统一的建模语言(UML)是面向对象领域中的一种建模语言,本章将给出它的一个预览。如果你还不知道UML是什么,本章将给你一个粗略的认识。UNL图及其用途为何使用UML: 主要为了交流;为了清晰;为了精确。(airport has a aircraft)aircraft不是airport的一部分(car...
阅读全文
摘要:本章不能让你成为面向对象方法的专家。它甚至不能为你解释面向对象领域所有的基础概念。但是,它将帮助你为阅读本书的其他部分做好准备。功能分解是一种自然的解决问题的方式。我们经常如此。大化小的一种方式。比如:组装一个自行车。功能分解的问题:办不到我们为未来可能发生的变化做准备。步骤中的任何一个发生一点变化...
阅读全文
摘要:这是第一次针对某本专业书而写读书笔记。为何写呢? 第一:是一种自我监督;第二:能边读边总结;第三:能给老师交任务(这点大家可以忽略)。言归正传,下面开始正式内容:模式是针对特定场景下的特定问题的可重复、可表达的解决方案。它不限于面向对象,不限于设计阶段,甚至不限于软件开发领域。这跟我们这本书没有太大...
阅读全文