《企业应用架构模式》(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. 读未提交:允许脏读,允许读未提交的数据
· 会话状态:无状态对象是一种不良设计;用无状态的服务器可以实现有状态的会话;如果有很多会话空闲,可以考虑用数据库存储会话;如果需要频繁访问会话,则应该使用服务器会话
· 分布策略:分布对象的第一定律:不要使用分布对象;分布对象的第二定律:节约使用分布对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述