你一定要知道的-高内聚低耦合
摘要:1. 什么是内聚?什么是耦合? 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述 的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决 于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块...
阅读全文
posted @
2009-01-03 16:37
心不蒙尘
阅读(764)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(七)-Decorator 模式
摘要:Decorator模式(结构性模型)以对客户端透明的方式动态的为对象附加责任。此模式提供了一个比继承更为灵活的替代方案来扩展对象的功能。虽然与适配器一样的被称作包装者(wrapper)但他们本质有区别。适配器要改变所考虑对象接口,而不一定改变对象的性能;装饰者是要保持对象接口,从而增强对象性能。通过采用组合而非继承的手法,Decorator模式实现了在运行时动态扩展对象功能的能力,而且可以根据需要...
阅读全文
posted @
2008-10-18 11:06
心不蒙尘
阅读(372)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(六)-组合模式
摘要:合成模式有时又叫做部分-整体模式(Part-Whole)。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。合成模式的实现根据所实现接口的区别分为两种形式,分别称为安全模式和透明模式。合成模式可以不提供父对象的管理方法,但合成模式必须在合适的地方提供子对象的管理方法(诸如:add、remove、getChild等)。透明方式 作为第一种选...
阅读全文
posted @
2008-10-12 23:45
心不蒙尘
阅读(410)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(五)&工厂模式资料汇总&提议
摘要:在写这篇随笔的时候,我考虑了很久,第一,其实在博客园中已经有很多篇关于工厂模式的随笔了,如果我再继续写,我发现我也超不过前面已经写过的“前辈”:);第二,《软件设计精要与模式》的第二篇第六章个人感觉写的也不是特别好,仅仅可以作为初步学习工厂模式的资料来参考,我再把这些读书笔记写出来也没有太多意义。所以我写这篇读书笔记将博客园里面关于工厂模式写的比较好的资料给大家整理出来,方...
阅读全文
posted @
2008-08-25 23:44
心不蒙尘
阅读(398)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(四)
摘要:第四章 测试驱动开发实践 “仔细分析企业运行价值链的三个步骤,我认为它和软件开发的测试驱动开发(TDD,Test-Driven Development)价值链很相识。第一步是发现价值,应用到测试驱动开发中,就是测试先行,通过测试来驱动我们编写代码。第二步是生产价值,毋庸置疑,这正是编写代码的一个阶段。第三步是收获价值,在测试驱动开发中,我们收获的不仅有开发后完整的产品,同时还收获完整的测...
阅读全文
posted @
2008-08-10 17:02
心不蒙尘
阅读(246)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(三)
摘要:第三章 体验重构 个人强烈推荐《重构--改善既有代码的设计》(不过建议有2年以上的开发人员看,太早看是浪费时间)。 本章,作者用来一个阶乘容器的设计来说明重构。 3.1 一个阶乘容器 通常,作为一个初学者,我们的代码最初会设计如下: Code Code highlighting produced by Actipro CodeHighlighter (fr...
阅读全文
posted @
2008-08-09 16:26
心不蒙尘
阅读(259)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(二)
摘要:第二章 封装变化 2.1 设计模式之鹄的 这里说明一下:鹄的gǔdì〖bull's-eye〗∶箭靶的中心;练习射击的目标(请参见http://zidian.teachercn.com/gu/Word_5649.html) 设计模式是“封装变化”思想的最佳阐述。无论是创建型模式、结构型模型还是行为型模型,归根结底都是寻找软件中可能存在的“变化”,然后利用抽象的方式对这些变...
阅读全文
posted @
2008-08-09 14:20
心不蒙尘
阅读(229)
推荐(0) 编辑
《软件设计精要与模式》读书笔记(一)
摘要:最近在学习设计模式方面的内容,买了几本关于设计方面的书籍,这两天在看《软件设计精要与模式》,本书是博客园开发者征途系列、由张逸所著。 第一章:设计之道。 1.1 计划的设计和演进的设计 其实以前自己并没有意识到设计还是分方式的,这里作者提出两种方式:计划的设计和演进的设计。我个人认为对于设计的取舍可以根据软件的开发模型来决定,比如采用瀑布模型使用计划的设...
阅读全文
posted @
2008-07-29 17:20
心不蒙尘
阅读(294)
推荐(0) 编辑