Architecture ’ 目录归档

《软件架构》事件驱动架构

你好,我是看山。

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《软件架构》 中关于事件驱动的内容,虽然是 2014 年的文章,但是从软件架构层面上,并不过时。

以下是正文。

事件驱动架构是一种系统或组件之间通过发送事件和响应事件彼此交互的架构风格。当某个事件发生时,组件A不直接调用组件B,而只是发出一个事件。组件A不知道哪些组件监听并处理这些事件。事件驱动架构可以在进程内和进程间使用。比如,GUI框架中会大量使用事件驱动。【译者注:目前很多系统采用微服务架构,事件驱动使用的更加广泛了。】此外,正如我在并发模型教程 中所提到的,装配线并发模型(AKA reactive,非阻塞并发模型)也使用了事件驱动架构。

本文主要介绍进程之间的事件驱动架构,后文提到这个词的时候也是指进程交互方式。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》事件驱动架构

《软件架构》N 层架构

原文链接 译文链接 译者:杨逸林 校对:方腾飞

N 层架构意味着将系统拆分为 N 层,N ∈ [1,+∞)。单层架构与单进程架构一样。双层架构和客户端/服务端架构一样等等。 三层架构是一种非常常见的架构。三层架构通常分为表现层/GUI 层、业务逻辑层以及数据持久化层。下图说明了三层架构: N 层架构.png

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构》N 层架构

初谈架构

工作了很多年,架构也做了五六年。今天突然在思考什么是架构,为什么要做架构,架构怎么来做,架构到底是设计的还是演进的?以下就这些思考做一下总结,其中不当之处欢迎不吝赐教。

1.什么是架构?

个人认为架构是服务于商业目标的,商业目标规范了一定的业务需求,性能需求,安全需求,扩展性需求及其他的非功能性需求。在设计架构的过程中,需要根据对应的需求去决定使用什么样的技术,使用什么样的技术需要根据团队现有的技能水平及当前技术发展的阶段去进行取舍。架构就是根据明确的商业目标进行合理的规划,对不同的方案进行抉择,解决问题的过程。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 初谈架构

《架构方法论》分层架构

原文链接  作者;方腾飞

软件架构有多种架构模式,其中分层架构是目前最流行,应用最广泛的架构模式。那么什么是分层架构?为什么要采用分层架构?一个系统应该分几层合适?分层架构的好处有哪些?这些问题将是这篇文章要探讨的。大家可以在阅读本文之前先思考下这些问题,然后再看看本文的观点,看完之后欢迎通过评论进行交流。

什么是分层架构?

分层架构是将软件模块按照水平切分的方式分成多个层。一个系统由多层组成,每层由多个模块组成。那么到底分几层合适?我认为根据不同的复杂度分成不同的层次,最基本的是分层架构是三层,即表现层,领域层和数据持久层。而《领域驱动设计》Eric Evans建议分四层分别是表现层,应用层、领域层和基础层,业务逻辑在领域层,基础层比持久层的范围更大,不仅可以提供持久层服务,还可以提供缓存等服务。四层中的应用层是对三层架构中领域层进行进一步拆分。但是无论怎么分层,业务逻辑永远在领域层。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《架构方法论》分层架构

return top