全栈工程师WEB开发指南
作 者:[意]迪诺·埃斯波西托Dino Esposito) 著 李永伦 译
定 价:79
出 版 社:人民邮电出版社
出版日期:(咨询特价)年03月01日
页 数:324
装 帧:简装
ISBN:51
●第 一部分理解业务领域第 1章 实施全面的领域分析 31.1 领域驱动设计前来解困 31.1.1 领域驱动设计 31.1.2 消除DDD的常见误解 41.2 通用语言 51.2.1 创建领域特定术语的词汇表 51.2.2 使业务和代码保持同步 71.3 限界上下文 81.3.1 发现限界上下文 81.3.2 实现限界上下文 91.4 上下文映射 111.5 事件风暴 121.5.1 拥有无尽的建模空间 131.5.2 找出领域中的事件 131.5.3 引导讨论 131.6 小结 13第 2章 选择支撑架构 152.1 关于业务逻辑的一切 152.1.1 研究应用程序逻辑 152.1.2 研究领域逻辑 162.1.3 探究业务逻辑的模式 172.2 使用单个模型 192.2.1 探究面向对象领域模型的素 192.2.2 把业务规则放进去 202.2.3 发现聚合 222.2.4 探究领域服务的角色 232.3 实现命令查询分离 252.3.1 应用命令查询分离原则 262.3.2 实现CQRS 282.4 基于消息的方案 302.4.1 专属基础设施 302.4.2 介绍事件溯源 332.5 小结 35第3章 用户体验驱动设计 363.1 为什么自上而下方案比自下而上方案更优 363.1.1 自下而上方案的基础 373.1.2 规划自上而下方案 393.2 从架构的角度来看用户体验 403.2.1 用户体验不是用户界面 403.2.2 三步解释用户体验驱动设计 423.3 为什么用户体验驱动设计几乎有利于每个人 463.4 小结 47第4章 Web解决方案的架构选项 494.1 评估可用的Web解决方案 494.1.1 决定最佳框架 494.1.2 规划解决方案 504.2 研究ASP.NET Core 1.0的角色 514.2.1 把ASP.NET看作起点 514.2.2 研究ASP.NET Core 1.0里的架构依赖 524.2.3 探究选择ASP.NET Core 1.0的原因 534.3 决定是否应该使用ASP.NET Web Forms 554.3.1 研究一个常见的场景 554.3.2 ASP.NET Web Forms初探 554.3.3 Web Forms仍有好的一面 564.3.4 为什么应该远离Web Forms 564.4 决定是否应该使用ASP.NET MVC 574.4.1 ASP.NET MVC初探 584.4.2 ASP.NET MVC的优点 584.4.3 ASP.NET MVC的弱点 594.5 研究ASP.NET Web API的角色 594.5.1 WCF转到Web API 604.5.2 比较ASP.NET Web API和ASP.NET MVC 604.5.3 聊聊REST 624.5.4 在ASP.NET Core 1.0里使用Web API 624.6 单页应用程序 634.6.1 构建SPA 644.6.2 混合SPA 644.6.3 SPA的弱点 644.7 小结 65第5章 分层架构 665.1 超越经典的三层系统 665.1.1 目前使用的三层架构 675.1.2 灰色地带 675.2 表现层 685.2.1 用户体验 685.2.2 输入模型 695.2.3 视图模型 695.3 应用程序层 705.3.1 系统后端的入口点 705.3.2 业务流程的编排 715.4 领域层 715.4.1 神秘的领域模型 725.4.2 同样神秘的领域服务概念 725.4.3 更务实的领域建模观点 735.5 基础设施层 735.5.1 当前状态存储 735.5.2 事件存储 745.5.3 缓存层 755.5.4 外部服务 755.6 小结 75第二部分 实现常见功能第6章 ASP.NET的现状 796.1 Web的风格 796.1.1 Web原本可以不同 796.1.2 经典Web是赢家 806.2 ASP.NET是功能完整的 806.2.1 不必添加更多功能 816.2.2 它的潜能得到充分挖掘,还是说这个软件已遭废弃 816.3 ASP.NET Core 1.0没有新的功能 816.3.1 这是关于新的运行时 826.3.2 这是关于业务模型 826.3.3 这是关于开发模型 826.4 ASP.NET的现状是什么 82第7章 ASP.NET Core 1.0的来龙去脉及技术细节 847.1 ASP.NET Core的背景 847.1.1 大内存占用的代价 857.1.2 把云重新看作杀手锏 857.1.3 不同的编程模型的必要性 857.1.4 日常工作的影响 867.2 ASP.NET Core运行时概览 867.2.1 DNX托管环境 877.2.2 在DNX中托管Web应用程序 887.2.3 ASP.NET Core HTTP通道 897.3 ASP.NET开发者的ASP.NET Core使用指南 907.3.1 创建一个新的项目 917.3.2 应用程序启动 947.3.3 应用程序设置 967.3.4 验证 987.3.5 Web编程的其他方面 997.4 小结 101第8章 ASP.NET MVC的精髓 1038.1 路由传入请求 1038.1.1 模拟ASP.NET MVC运行时 1048.1.2 探索URL路由HTTP模块 1068.1.3 使用应用程序路由 1078.2 探索控制器类 1138.2.1 了解控制器的各个方面 1138.2.2 编写控制器类 1158.3 处理输入数据 1198.3.1 手动参数绑定 1198.3.2 模型绑定 1208.4 产生操作结果 1248.4.1 包装结果 1248.4.2 返回HTML标记内容 1268.4.3 返回JSON内容 1328.5 小结 133第9章 Bootstrap的精髓 1359.1 Bootstrap概览 1359.1.1 LESS和Bootstrap基础 1359.1.2 设置Bootstrap 1389.1.3 透析Bootstrap 1389.2 反应式布局 1399.2.1 网格系统 1399.2.2 基于屏幕大小的渲染 1419.3 现今Web素的分类体系 1459.3.1 重塑基本HTML素的样式 1459.3.2 重塑列表HTML素的样式 1539.3.3 了解更不错的组件 1559.4 Bootstrap扩展 1619.4.1 自动完成 1619.4.2 日期选择 1669.4.3 自定义组件 1689.5 小结 172第 10章 ASP.NET MVC项目的组织方式 17310.1 规划项目解决方案 17310.1.1 把项目映射到分层架构模式 17310.1.2 应用程序启动 17510.1.3 研究应用程序服务 17910.1.4 加入其他资产 18110.1.5 创建表现布局 18210.2 更有效地提供资源 18410.2.1 打包 18510.2.2 使用简化 18910.3 研究其他方面 19010.3.1 研究错误处理 19010.3.2 配置用户验证 19310.4 小结 197第 11章 展示数据 19811.1 组织HTML视图 19811.1.1 探索视图模型 19811.1.2 研究页面布局 20111.1.3 展示视图素 20411.2 显示一组数据项 20711.2.1 创建网格视图 20811.2.2 添加页面功能 21211.2.3 向页面素添加滚动功能 21611.3 添加详细视图 21911.3.1 弹框视图 22011.3.2 向下追溯视图 22211.4 小结 224第 12章 编辑数据 22512.1 用于登录页面的通用表单 22512.1.1 展示表单 22512.1.2 处理提交数据 22712.2 输入表单 22912.2.1 Post-Redirect-Get模式 22912.2.2 表单验证 23112.2.3 模态输入表单 23912.3 改善用户体验的小窍门 24712.3.1 使用日期选择器是挺好的,但…… 24712.3.2 使用自动完成而不是冗长的下拉列表 24912.3.3 大型输入表单的其他建议 25112.4 小结 252第 13章 持久化和建模 25313.1 研究不同类型的模型 25313.1.1 持久化模型 25313.1.2 领域模型 25413.1.3 输入模型 25613.1.4 视图模型 25613.2 设计持久层 25713.2.1 使用隐式的遗留数据模型 25813.2.2 使用Entity Framework 25913.2.3 仓库模式 26213.3 多样化持久化 26413.3.1 多样化持久化的例子 26413.3.2 多样化持久化的代价 26513.4 小结 267第三部分 分析用户体验第 14章 创建更具交互性的视图 27114.1 暴露JSON内容 27114.1.1 创建JSON端点 27214.1.2 协商内容 27414.1.3 解决跨源问题 27514.2 设计Web API 27914.2.1 ASP.NET Web API的目的 27914.2.2 在ASP.NET MVC环境中的Web API 27914.2.3 保护独立的Web API 28014.3 拉取内容 28214.3.1 Ajax核心 28214.3.2 jQuery工具 28514.3.3 把数据绑到当前DOM 28714.4 把内容推到客户端 29014.4.1 ASP.NET SignalR初探 29014.4.2 监视远程任务 29114.4.3 ASP.NET SignalR的其他场景 29414.5 小结 296第 15章 反应式设计的优缺点 29715.1 反应式Web设计的基础 29715.1.1 RWD简史 29715.1.2 CSS媒体查询 29815.1.3 RWD和设备独立性 30215.2 使RWD适配非桌面设备 30315.2.1 处理图像 30415.2.2 处理字体 30615.2.3 处理朝向 30715.3 小结 308第 16章 让网站对移动友好 30916.1 让视图适配实际设备 30916.1.1 最适合移动场景的HTML5 30916.1.2 特性检测 31216.1.3 客户端设备检测 31316.1.4 展望未来 31616.2 设备友好的图像 31616.2.1 ImageEngine平台 31616.2.2 自动调整图像大小 31716.3 提供设备友好的视图 31816.3.1 提供移动内容的最佳方式是什么 31816.3.2 服务器端检测 31916.4 小结 324
内容简介
本书通过介绍一种实用的、问题驱动的,关注用户的方法,介绍了规划、设计和构建动态的Web强有力的方法,给出了目前进行Web开发的一套有效解决方案。本书引导读者选择和实现特定的技术,阐释了重要的用户体验主题,并探讨了对移动友好的技术和反应式设计技术等内容。除此之外,本书还介绍了ASP.NET MVC、SignalR、Bootstrap、AJAX、JSON和JQuery等技术的相关内容。通过阅读本书,读者将学到如何从DDD方法以及现代的UX设计方法中获益,进而能够快速构建出解决当前问题并且有出色用户体验的Web解决方案。
[意]迪诺·埃斯波西托Dino Esposito) 著 李永伦 译
迪诺·埃斯波西托(Dino Esposito)是Crionet(一家为欧洲各地体育赛事提供Web移动解决方案的公司)的CTO和联合创始人。他长期从事培训和顾问工作,曾11次荣获微软MVP殊荣,并著有《Microsoft. NET企业级应用架构设计(第2版)》和《企业级移动方案架构设计》。他还经常在行业活动中发表演讲,其中包括Microsoft TechEd以及SDD、BASTA和Devweek等欧洲活动。