知识卡片
柏拉图式风格与体验式风格
内容
书里讲的架构风格是”柏拉图式”的理想版本;实际系统里出现的往往是”体验式”版本,会违背严格约束,违背常常是权衡的结果。判断是否伤筋动骨,要看是否破坏了风格特性依赖的那条约束:管道-过滤器要求只能通过管道通信,实践中链条首尾常打破此约束,但只影响首尾两个过滤器,中间依然可重配置。客户端-服务器”服务器不该知道客户端”一旦被”主动推送”打破,解耦好处就可能真丢了。
参考来源
- 位置:《恰如其分的软件架构》第14章《架构风格》14.2节《柏拉图式风格对体验式风格》、14.3节《约束和以架构为中心的设计》(源文件:_epub-src/OEBPS/text00143.html, text00144.html)
- 结论依据:原文区分柏拉图式风格(理想化,书中常见)与体验式风格(实践中常见,会违背严格约束),用管道-过滤器和客户端-服务器两个例子说明违背约束对风格特性和沟通价值的不同影响,并说明以架构为中心的设计通常应倾向柏拉图式风格。
- 原始内容:柏拉图式架构风格(Platonic architectural style)是一种理想化……体验式架构风格(embodied architectural style)出现在实际的系统中。它常常违背柏拉图式风格中那些严格的约束……当遵循以架构为中心的设计时……你可能更愿意用以架构为中心的设计方式去做。