您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
联系客服
|
搜索
热搜:
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
.NET整洁架构之道
出版社: 机械工业
作者: [意]迪诺·埃斯波西托(Dino Esposito)
商品条码: 9787111789895
适读年龄: 12+
版次: 1
开本: 16开
出版年份: 2025
印次: 1
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
收藏
上架到店铺
×
Close
上架到店铺
{{shop.name}}
点此去绑定店铺
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥22.05
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书分为三部分。第一部分为理论,为软件模块化奠定了基础,追溯了软件架构的历史,并总结了领域驱动设计(DDD)的要点——这是一种非常有助于拆解业务领域的方法,尽管在项目中并非必要。第二部分为实现,讲述了构成“整洁”架构的五个层。这部分的重点并不在于架构的同心圆形式,这种形式已经被大量的书籍和文章所普及,而在于各个构成层次所提供的实际价值:表示层、应用层、领域层、领域服务层和基础设施层。第三部分为应用,主要关注三个经常遇到的话题:是选择单体应用还是微服务,是选择客户端渲染还是服务器端渲染,以及技术债务和技术信用。
作者简介
迪诺·埃斯波西托(Dino Esposito)<br />软件开发领域享有盛誉的权威专家,IT团队领导者,他拥有超过25年的编程经验,职业生涯始于1992年的C语言开发,亲身见证并参与了.NET框架的诞生、Silverlight技术的兴衰以及各种架构模式的演进。作为16次微软MVP(最有价值专家)得主,迪诺已撰写了20多本技术书籍和超过1000篇文章,其著作和见解对全球数千名.NET开发人员和架构师的职业成长产生了深远影响。他善于将复杂的架构概念转化为可实践的指导原则,他领导的团队在全球范围内参与构建和维护ASP.NET平台。
目录
译者序<br />前言<br />致谢<br />第一部分 理论<br />第1章 模块化软件架构的历史和演变 2<br />1.1 模块化三层架构 3<br />1.1.1 三层架构的主要特点 4<br />1.1.2 逻辑层、物理层和模块化 6<br />1.2 DDD的典型架构 8<br />1.2.1 DDD配套的支持架构 8<br />1.2.2 其他补充 11<br />1.3 不同类型的分层架构 15<br />1.3.1 六边形架构 15<br />1.3.2 整洁架构 16<br />1.3.3 特性驱动架构 17<br />1.4 本章小结 19<br />第2章 DDD的核心精髓 20<br />2.1 DDD简介 21<br />2.1.1 战略分析 21<br />2.1.2 战术设计 23<br />2.1.3 DDD的误解 24<br />2.1.4 战略设计工具 26<br />2.2 UL 26<br />2.2.1 领域语言术语表 27<br />2.2.2 构建术语表 28<br />2.2.3 保持业务和代码的一致性 30<br />2.3 限界上下文 33<br />2.3.1 处理歧义 34<br />2.3.2 设计限界上下文 36<br />2.4 上下文映射 39<br />2.4.1 上游和下游 39<br />2.4.2 上下文映射示例 40<br />2.4.3 部署映射示例 41<br />2.5 本章小结 42<br />第3章 模块化设计的基础 43<br />3.1 模块化设计的要素与原则 44<br />3.1.1 SoC 44<br />3.1.2 松耦合 45<br />3.1.3 可复用性 45<br />3.1.4 依赖项管理 46<br />3.1.5 文档 46<br />3.1.6 可测试性 46<br />3.2 应用模块化设计 47<br />3.2.1 表示层:与外界交互 47<br />3.2.2 应用层:处理接收到的指令 48<br />3.2.3 领域层:表示领域实体 48<br />3.2.4 数据/基础设施层:持久化数据 48<br />3.3 实现模块化 48<br />3.3.1 在单体中增添模块化设计 49<br />3.3.2 微服务简介 50<br />3.4 最简方案原则 52<br />3.4.1 可维护性 53<br />3.4.2 可测试性 54<br />3.5 本章小结 56<br />第二部分 实现<br />第4章 表示层 60<br />4.1 Renoir项目:最终目标 61<br />4.1.1 应用程序介绍 61<br />4.1.2 抽象上下文映射 63<br />4.1.3 物理上下文映射 66<br />4.2 业务需求工程 69<br />4.2.1 分解软件项目 70<br />4.2.2 基于事件的故事板 70<br />4.2.3 Renoir项目的基本任务 72<br />4.3 表示层的边界和部署 73<br />4.3.1 敲开Web服务器的门 74<br />4.3.2 ASP.NET应用程序端点 75<br />4.4 表示层开发 76<br />4.4.1 连接到业务工作流 76<br />4.4.2 前端及相关技术 81<br />4.4.3 纯API表示层 82<br />4.5 本章小结 83<br />第5章 应用层 85<br />5.1 Renoir项目架构图 86<br />5.1.1 访问控制子系统 86<br />5.1.2 文档管理子系统 88<br />5.1.3 在Visual Studio中打开Renoir项目 89<br />5.2 任务编排 90<br />5.2.1 任务简介 90<br />5.2.2 分布式任务示例 91<br />5.2.3 Renoir项目中的任务示例 93<br />5.3 数据传输 93<br />5.3.1 从表示层到应用层 94<br />5.3.2 从应用层到持久化层 98<br />5.4 实现细节 100<br />5.4.1 应用层概要 101<br />5.4.2 应用程序设置 104<br />5.4.3 日志记录 108<br />5.4.4 处理和抛出异常 113<br />5.4.5 缓存及其模式 117<br />5.4.6 注入SignalR连接中心 121<br />5.5 应用层的边界和部署 123<br />5.5.1 依赖列表 123<br />5.5.2 部署选项 123<br />5.6 本章小结 125<br />第6章 领域层 126<br />6.1 分解领域层 126<br />6.1.1 业务领域模型 126<br />6.1.2 辅助领域服务 129<br />6.2 构建领域模型 131<br />6.2.1 将焦点从数据转向行为 131<br />6.2.2 领域模型的组成部分 134<br />6.2.3 Renoir项目的领域模型 138<br />6.3 领域漫游指南 139<br />6.3.1 治疗软件贫血症 140<br />6.3.2 实体类的共同特征 141<br />6.3.3 代码礼仪 144<br />6.3.4 代码风格规范 153<br />6.3.5 编写真正易读的代码 157<br />6.4 本章小结 160<br />第7章 领域服务层 161<br />7.1 领域服务的定义 162<br />7.1.1 领域服务的无状态特征 162<br />7.1.2 标记领域服务类别 162<br />7.1.3 领域服务和UL 163<br />7.1.4 领域服务的数据访问 163<br />7.1.5 领域服务的数据注入 164<br />7.2 常见的领域服务场景 164<br />7.2.1 确定客户的忠诚度状态 164<br />7.2.2 领域事件 165<br />7.2.3 发送业务邮件 166<br />7.2.4 为密码加密服务 167<br />7.3 具体实现 168<br />7.3.1 领域服务的一个例子 168<br />7.3.2 有用且相关的模式 170<br />7.3.3 REPR模式 171<br />7.4 其他问题 176<br />7.4.1 领域服务是否有必要 176<br />7.4.2 领域服务的其他应用场景 178<br />7.5 本章小结 179<br />第8章 基础设施层 180<br />8.1 基础设施层的职责 181<br />8.1.1 数据持久化和存储 181<br />8.1.2 与外部服务的通信 182<br />8.1.3 与内部服务的通信 182<br />8.2 实现持久化层 183<br />8.2.1 仓库类 184<br />8.2.2 使用EF Core 188<br />8.2.3 使用Dapper 196<br />8.2.4 在数据库中托管业务逻辑 197<br />8.3 数据存储架构 199<br />8.3.1 介绍命令/查询分离 199<br />8.3.2 ES执行摘要 203<br />8.4 本章小结 204<br />第三部分 应用<br />第9章 微服务和模块化单体架构 206<br />9.1 远离遗留的单体系统 207<br />9.1.1 并非所有单体架构都是糟糕的 207<br />9.1.2 单体架构的潜在缺点 208<br />9.2 关于微服务 210<br />9.2.1 早期采用者 211<br />9.2.2 微服务架构和SOA的原则 211<br />9.2.3 微服务的“微”到底有多微 212<br />9.2.4 微服务的优点 214<br />9.2.5 微服务的缺点 215<br />9.3 微服务是否适用于所有应用程序 222<br />9.3.1 大型企业的一个大误解 222<br />9.3.2 SOA和微服务 223<br />9.3.3 微服务是否适合你的场景 224<br />9.3.4 规划和部署 227<br />9.4 模块化单体 231<br />9.4.1 适用于新项目的架构 232<br />9.4.2 模块化单体策略更适用于新项目 232<br />9.4.3 从模块到微服务 235<br />9.5 本章小结 238<br />第10章 客户端渲染和服务器端渲染 239<br />10.1 Web应用程序简史 240<br />10.1.1 史前时代 240<br />10.1.2 服务器端脚本时代 242<br />10.1.3 客户端脚本时代 244<br />10.2 客户端渲染 246<br />10.2.1 HTML层 247<br />10.2.2 API层 250<br />10.2.3 迈向更现代的史前时代 253<br />10.3 SSR 257<br />10.3.1 前后端分离 258<br />10.3.2 ASP.NET前端选项 259<br />10.3.3 ASP.NET Core与Node.js的对比 262<br />10.3.4 阻塞式/非阻塞式传说 265<br />10.4 本章小结 267<br />第11章 技术债务与技术信用 268<br />11.1 技术债务的隐藏成本 269<br />11.1.1 处理技术债务 269<br />11.1.2 解决债务的方法 271<br />11.1.3 会放大债务的行为 273<br />11.2 技术信用的隐藏收益 275<br />11.2.1 破窗理论 276<br />11.2.2 重构 278<br />11.2.3 做正确的事情 280<br />11.3 本章小结 281
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网