《企业应用架构模式》(POEAA)读书笔记 (2)--表述
《企业应用架构模式》
本书作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。本书获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。本书分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是本书的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整本书中还用了大量UML图来进一步阐明有关概念。 本书是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。
上一篇 《企业应用架构模式》(POEAA)读书笔记 (1) -- 企业应用的特点
· 性能:很多时候,增加更多的服务器比增加更多的程序员便宜;如果增加服务器对性能的提升较大,则说明应用的伸缩性好
· 分层:上层是用下层定义的各种服务,而下层对上层一无所知;分层的缺陷是不能封装所有的东西,因此可能带来级联更改,过多的曾影响性能;Layer和Tier的区别是Tier可能更多的意味物理上的分离
Brown分层模型
表现层>>控制层>>领域层>>数据映射层>>数据源层
Core J2EE分层模型
客户层>>表现层>>业务层>>集成层>>资源层
MS DNA分层模型
表现层>>业务逻辑层>>数据访问层
Marinescu分层模型
表现层>>应用层>>服务层>>领域层>>持久层
· 领域模型:使用不同职责的对象来联合解决业务问题,而不是通过事务脚本来处理数据
· 阻抗不匹配:对象模型和关系型数据库之间的不匹配,通常通过对象-关系映射(ORM)解决
· 软件事务的四个特性
1. 原子性:要么全部成功,要么全部会滚
2. 一致性:事务开始和完成时,资源都不应该被破坏
3. 隔离性:事务成功完成之前,其影响不应该被看到
4. 持久性:事务不会因为任何崩溃而丢失更改
· 事务的隔离级别(由高而低)
1. 可串行化:完全隔离,并发执行的结果与以某种顺序依次执行的结果相同
2. 可重复读:允许幻读,更新者向集合中插入了一些元素而读的人只能看到其中一部分
3. 读已提交:允许不可重复读,所有已经提交的数据都可以读
4. 读未提交:允许脏读,允许读未提交的数据
· 会话状态:无状态对象是一种不良设计;用无状态的服务器可以实现有状态的会话;如果有很多会话空闲,可以考虑用数据库存储会话;如果需要频繁访问会话,则应该使用服务器会话
· 分布策略:分布对象的第一定律:不要使用分布对象;分布对象的第二定律:节约使用分布对象