知识卡片
提升架构设计的运作机制
内容
提升架构的设计把某目标或属性的达成责任从”每处业务代码自觉遵守”转移到”架构机制主动承担”——如EJB应用服务器把并发性、可伸缩性、持久性提升进架构,开发者只需服从约束(不能自建线程),服务器就替代码保证这些属性;垃圾回收器把内存管理提升进架构,代价是牺牲部分性能可控性。关键判据:能否指着一段代码说”就是它确保了这个目标”——架构无关和专注架构设计都做不到,提升架构设计可以,但常伴随灵活性代价。
参考来源
- 位置:《恰如其分的软件架构》第2章《软件架构》2.8节《提升架构的设计》(源文件:_epub-src/OEBPS/text00022.html)
- 结论依据:原文以EJB应用服务器和垃圾回收器为例,说明提升架构的设计能让开发者指出具体哪段代码/机制负责保证某个目标,而架构无关和专注架构的设计做不到这一点;并指出提升常伴随利弊权衡。
- 原始内容:一旦把某个目标或属性提升至架构中,就会发现:管理它的代码,或者经过深思熟虑获得的结构性约束……可以确保它。EJB(Enterprise Java Bean)应用服务器提升了并发性、可伸缩性及持久性……提升架构的设计通常会涉及各种利弊权衡。