写点什么

面向模式软件架构第 4、5 卷出版

  • 2007-08-24
  • 本文字数:1843 字

    阅读完需:约 6 分钟

面向模式软件架构(POSA)系列的第4 卷第5 卷已经出版了。卷4 是关于分布式计算的模式语言,而卷5 则“深入审视模式是什么,不是什么,以及怎样成功地使用它们”。

InfoQ 采访了最新卷的合著者之一 Kevlin Henney ,讨论了 POSA 系列的最新两本书。我们询问 Kevlin:两本书怎么会几乎同时出版?

最初的打算是只有一本书,其内容按照 POSA 5 的想法来组织。这个想法是,介绍书写和组织模式的概念、原则及技巧,我们通过一个大的例子来说明:用于分布式计算的模式语言,并附带一个模式故事(pattern story),在实践中说明它的应用。

正如你猜到的,这将会是一部非常厚的书!

POSA4 是关于分布式系统的——该书关注哪些类型的分布式系统呢?

……我们试图编写那些可在经典的 RPC 风格系统、当代的 Web 应用、基于消息的系统、经典的 N 层系统、移动计算等系统中找得到的范围广泛的架构概念。我们特别关注于那些已被实践证明的架构和架构知识……我们覆盖了应用和中间件架构,并对新系统开发及现有系统的后续开发都有兴趣。

本书的风格不同于前几卷。POSA4 描述了 114 个模式,而前 3 卷总共才包含了 44 个模式。前几卷对每个模式进行了深入地探讨,但是因为 POSA4 的大多数模式已在其它著作中发表,因此模式的细节不再作为重点,取而代之的是模式间的关系。

相比之下,POSA4 意图给架构师和开发者提供的一个更广的、宏观的模式视图,这些模式涉及到当代分布式计算架构中应用的模式。重点是模式是如何关联的,其中包括一个模式实现另一个的细节或为另一个提供替代选择,因此这意味着联系才是重点,从而减少了每个模式的细节。

然而,更少的细节并不必然意味着令每个模式的核心概念变得失真:

模式并不会因为本身的简洁而变得不精确——在某些情形下,它们的描述还更准确了–而是它们被概括并忽略了很多不必要的细节。

为了保持每个模式描述的简洁,本书使用草图和伪代码代替了 UML 图和完整的 C++ 或 Java 例程。对于想深入了解特定模式的读者,它提供了参考。

我们询问 Kevlin:他是否觉得有一些特殊的模式被遗忘或被误解了,而它们对于能出现在本书中将会感到非常高兴?

有些模式是非常的不引人注目,但是它们在现代设计方法中具有某种重要且非常有影响的地位。

首先一个,我们称之为显式接口(Explicit Interface),它本质上是一个分离单独接口的概念,将它完全从它的实现中解耦。这种方法适合声明类型系统并自从 RPC 时代就存在,而且我们发现它在现代静态类型语言中非常普遍,即‘接口(interface)’结构。然而,显式接口模式的关键点是设计敏感度,其背后使用了某种机制并聚焦于关注点的分离。不顾近些年来基于接口的编程的增多,许多程序员仍然使用纯接口(不论是以“接口”结构的形式,还是按照全抽象类的方式),以一种更多不必要的耦合方式,如果这也算面向接口编程的话。

第二个是关于上下文对象(Context Object)。和接口的想法类似,上下文对象的想法已经存在很长时间了(它现身于 Scheme 的 eval 过程中,并可在四人帮的解释器(Interpreter)模式中找到踪迹),但它最近才被记录并陈诉其有权作为模式的理由。POSA4 中的详细描写只是许多不同的详细说明(其中有我的一个,另一个则是 Doug 的!)中最新的一个。上下文对象可以使用执行细节(如配置、证书、查找服务等)参数化一个对象、组件或整个子系统,使之独立于系统的其它部分。这种分离提高了组件间的独立性,简化了测试,排除了一类问题,以及 / 或在多线程环境中可能遇到的执行瓶颈。它常常被视为使用 Singleton 之后带来的许多问题的解毒剂(并且,作为题外话,Singleton 是我们没有包含在本书中的一个模式:->)。

第 5 卷也是本系列的最后一卷书,是关于模式和模式语言。它显示了如何记录、组织和使用模式;如何建立模式间的关系,以及如何将这种关系转变成模式语言。

在 POSA5 之前,模式的概念性讨论分散在模式社区内外的许多著作和不同人的脑袋中。那些展示了模式集合的每一本书、论文或展示都使用不同观点介绍了模式概念,它们之间或多或少的有些不同。不同的来源侧重不同的方面的不同重点,例如模式发生的上下文、模式语言的使用、模式中的各种驱动力的角色,模式的社会或技术目标等等。

Kevlin 总结说:

POSA5 [……] 是写给那些有兴趣进一步探索模式概念的实践者的。换句话说,这本书的目标读者是,那些已经以某种形式接触过模式——不论是通过 GoF、POSA、Core J2EE,还是通过其他方式——并想更多了解模式的人。

查看英文原文: Pattern Oriented Software Architecture Volumes 4 and 5 released

2007-08-24 05:113024
用户头像

发布了 255 篇内容, 共 60.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

ChatGPT网页正式上线搜索聊天记录功能!埃隆马斯克的xAI正试图筹集数十亿美元|AI日报

可信AI进展

云原生运维入门必看!OpenTelemetry 三大数据类型及核心组件解析

Greptime 格睿科技

运维 云原生

BOE(京东方)2024年前三季度净利润三位数增长 “屏之物联”引领企业高质发展

科技热闻

BOE(京东方)全新一代发光器件赋能iQOO 13 全面引领柔性显示行业性能新高度

爱极客侠

Taro 鸿蒙技术内幕系列(二):如何让 W3C 标准的 CSS跑在鸿蒙上

京东科技开发者

论文领读|tDRO:面向大模型稠密检索的任务级分布鲁棒优化

澜舟孟子开源社区

人工智能 大模型 技术论文

阿里巴巴API返回值全解析:轻松掌握1688店铺商品信息

代码忍者

API 接口 pinduoduo API

什么是触发器?

Chat2DB

MySQL 数据库 sql 开源

软件测试学习笔记丨测试平台的价值与体系

测试人

软件测试 测试平台

怎么快速过等保三级?如何办理?

行云管家

等保 等保三级

观测云产品更新 | 云账单分析、主机网络监控、数据访问等

观测云

云账单

接单流程设计探索

京东科技开发者

揭秘JDQ限流架构:实时数据链路的多维动态带宽管控

京东科技开发者

HyperWorks二维网格划分与单元连续性

智造软件

网格 Hypermesh hyperworks

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(5)

HarmonyOS SDK

HarmonyOS

未来已来:人工智能赋能软件开发新篇章

天津汇柏科技有限公司

人工智能 软件开发

配置 GreptimeDB 作为夜莺监控数据源,无缝替代 Prometheus/VictoriaMetrics

Greptime 格睿科技

Prometheus 时序数据库 Victoriametrics

通过Forcebot压测实践简述“并发模式”与“RPS模式”两种模式的区别

京东零售技术

遇到慢查询怎么办?一文解读MySQL 8.0查询分析工具

华为云开发者联盟

MySQL sql EXPLAIN 慢查询分析

袋鼠云秋季发布会圆满落幕,AI驱动让生产力数智化

袋鼠云数栈

数据库 大数据 数据分析

海东等保测评机构有哪些?电话多少?

行云管家

网络安全 等保 等保测评

鸿蒙网络编程系列41-仓颉版HttpRequest模拟登录示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

面向模式软件架构第4、5卷出版_架构_Niclas Nilsson_InfoQ精选文章