“软件设计”文章列表
关于算法的选择,我谈到其理论上的复杂度,并不直接反映出效率。因为在实际运用时,数据的规模,特征等等都会涉及到算法的实际效果。一个时间复杂度低的算法并不代表......
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心
——Christopher Alexander
设计模式描述了软件设计过程中某......
系统的复杂度
假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。
如何使......
在这篇文章中,我们将描述如何对jBPM引擎进行扩展来实现流程访问和执行的授权这一功能。
在过去的20年里,IT行业的主要趋势是向外扩展。从大型机到Unix和/或Windows服务器组成的网络,再到Google发明并由Apache Hadoop改进的MapReduce系统,向外扩展的......
这是一个找茬的游戏,下面三段代码的差别在哪:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--if (1......
作者在本文中主要就微博的feed推拉(push,pull)模式做一下探讨,并提出新的时间分区拉模式。
英文原文:Service-Oriented Architecture and Legacy Systems 企业系统已经从单片孤岛(monolithic silos)快速发展为使用机制灵活、面向服务的分布式应用系统。为了跟上这一趋势,IT组织必须近乎实时地调整他们的遗留系统,以面对商业变化的挑...
前两天在网上看到世界知名的电骡服务器Razorback 2被查封、4人被拘禁的消息,深感当前做eMule / BitTorrent等P2P文件交换软件的不易。以分布式哈希表方式(DHT,Dis......
文 / 姚冬
本文介绍了集统一软件开发和敏捷开发方法优点于一体的新型软件开发方法——模型驱动开发。
当今是一个快速发展的时代,软件的功能更......
从耦合关系谈起
耦合关系直接决定着软件面对变化时的行为
-模块与模块之间的紧耦合使得软件面对变化时,相关模块都要随之更改
-模块与模块之间的松......
领域驱动设计的关注重心是领域,尤其在面对复杂的领域逻辑时,它总能够帮助我们很好地分析领域。领域驱动设计的基础是领域建模。Eric认为需要和领域专家良好地合作,从交谈中发现通用语言,找到领域的关键词。领域建模是迭代的过程,根据逐渐深入的领域知识来精化模型。不过,领域驱动设计并不排斥其他的分析技术,...
不知道为什么,初见它时,我想起了郭芙蓉的排山倒海:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--......
1. 从依赖倒置说起
首先,我们来看下《敏捷软件开发》中对依赖倒置的说明:
a. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
b. 抽象不应该依赖......