“软件设计”文章列表
耦合与变化
耦合是软件不能抵御变化灾难的根本性原因。不仅实体对象与实体对象之间存在耦合关系,实体对象与行为操作之间也存在耦合关系。
创建型设计模......
一、上篇回顾
上篇我们讲述了比较常用的适配器模式,并且分析了适配器的一般使用场景:
1、我们在使用第三方的类库,或者说第三方的API的时候,我们通过适配器......
对象容器的问题
在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。
如......
类层次结构的变化
类层次结构中可能经常由于引入新的操作,从而将类型变得脆弱……
动机(Motivation)
在软件构建过程中,由于需求的改变......
依赖关系的倒置
抽象不应该依赖于实现细节,实现细节应该依赖于抽象。-抽象A直接依赖于实现细节b(软件易脆,很容易需要重新编译)
-抽象A依赖于抽象B,实......
英文原文:Seven Steps to Create an Unbeatable Enterprise Mobility Strategy 移动革命即将到来 移动正在改变我们的生活,它影响着我们使用银行、购物、娱乐、旅行、学习、做决定和工作的方式。在1990年时,当时世界上只有五亿个电话线路...
目前来看,推行TDD的障碍大约有如下几点:1. 开发人员的质量意识;2. 分析需求并进行任务分解的能力;3. 将测试作为开发起点的开发习惯;4. 开发人员的重构能力,包括如何识别坏味道和如何运用重构手法;5. 单元测试的基础设施,尤其是测试数据准备; 开发人员的质量意识 开发人员对于软件质量...
最近常有一种说法,就是我们如今面临着另外一场编程模型的变革,面向对象技术已经处在被淘汰的边缘,函数式语言会取代面向对象技术成为主流方式,甚至出现了面向对......
在很多地方都有“数据交换”这个概念,本文所说的“数据交换” 是指在计算机网络中,一个系统把数据传递给另外一个系统。这非常类似于一个人......
作者在本文中主要就微博的feed推拉(push,pull)模式做一下探讨,并提出新的时间分区拉模式。
之前写过一篇如果你也是.NET程序员,收到不少留言,各种意见都有,之前的说话方式不够友好,特此向因看过而心生郁闷的人道歉。
问题在于我为什么不停的提面向对象......
过去几年间,你很难去忽视使用RESTFul方法构建企业级应用变得越来越普及的事实。现在,人们似乎不再争论REST还是WS-*呢?,也不再谈论REST和SOA是否互补,而是转向讨......
系统的复杂度
假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。
如何使......