“软件设计”文章列表
类层次结构的变化
类层次结构中可能经常由于引入新的操作,从而将类型变得脆弱……
动机(Motivation)
在软件构建过程中,由于需求的改变......
依赖关系的倒置
抽象不应该依赖于实现细节,实现细节应该依赖于抽象。-抽象A直接依赖于实现细节b(软件易脆,很容易需要重新编译)
-抽象A依赖于抽象B,实......
对象容器的问题
在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。
如......
目前来看,推行TDD的障碍大约有如下几点:1. 开发人员的质量意识;2. 分析需求并进行任务分解的能力;3. 将测试作为开发起点的开发习惯;4. 开发人员的重构能力,包括如何识别坏味道和如何运用重构手法;5. 单元测试的基础设施,尤其是测试数据准备; 开发人员的质量意识 开发人员对于软件质量...
最近常有一种说法,就是我们如今面临着另外一场编程模型的变革,面向对象技术已经处在被淘汰的边缘,函数式语言会取代面向对象技术成为主流方式,甚至出现了面向对......
作者在本文中主要就微博的feed推拉(push,pull)模式做一下探讨,并提出新的时间分区拉模式。
在很多地方都有“数据交换”这个概念,本文所说的“数据交换” 是指在计算机网络中,一个系统把数据传递给另外一个系统。这非常类似于一个人......
ThoughtWorks中国公司的XD Lead 熊子川
我们今天谈的是什么?
我们今天谈的是关于软件的体验设计。
为什么体验设计会成为一个话题?
原来我们谈体验......
从耦合关系谈起
耦合关系直接决定着软件面对变化时的行为
-模块与模块之间的紧耦合使得软件面对变化时,相关模块都要随之更改
-模块与模块之间的松......
系统的复杂度
假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。
如何使......
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心
——Christopher Alexander
设计模式描述了软件设计过程中某......