在读《企业应用架构模式》这本书时,我首先是通读了前半部分,其中有好多东西不是很懂,因为以前没有接触过软件体系架构这方的东西,所以上网查了好多网友对这本书的评价,然后对这本书有了更具体的一个认识,下面我总结了一下我查到的一些东西,和我自己的一些理解。
这本书的知识概要:该书第一部分“表述”对书中提及的各种模式及知识要点做了概括性介绍。主要从抽象层面介绍了企业应用中遇到的架构问题及常见的解决思路。涉及到:分层架构思想、领域逻辑组织、orm、web表现层、并发、会话状态及管理、分布式相关等。
企业应用是将计算机技术这一生产力作用于现实世界的表现形式。一个企业应用的设计需要考虑清楚该应用的业务目标、受众人群等。企业应用一般有如下特点:
需要持久化数据。采用何种持久化介质?如何持久化?
涉及大量数据。数据存取的高效性?数据容量?存储介质如何支持数据的快速增长?
多人同时访问数据。并发问题?服务可用性?用户会话管理?
大量用户交互。交互方式?服务可用性?
同其他企业应用之间的集成。系统集成形式?如何降低耦合?快速集成?
斜线部分是我想到的一些关注点。
架构
最高层次的系统分解;
系统中不易改变的决定。
在不同人看来,在不同的上下文下,在不同的系统生命周期时,对于“架构”的理解是不一样的。重要的是能够因时因地地选择合适的架构模式和设计。
分层
通常将系统分为多层,层与层之间约定好契约,下层对上层按照契约提供服务。
分层是最经典也是最常见的一种架构思想,在网络协议的设计中,在应用系统的架构设计中,都使用到了分层的设计思想。
分层可以带来如下好处可以概括为:层内部内聚,层之间解耦。层内部的内聚可以专注于本层的核心逻辑,层之间解耦,降低层与层之间的耦合,可以替换其中某一层的实现而不对其他层产生副作用。
分层同样可能带来副作用:人为引入的“分层”会给开发增加一定工作量,同时可能带来一定的性能损耗。