fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络软件工程/开发项目管理ASP.NET框架应用程序实战——软件开发工程师岗前

ASP.NET框架应用程序实战——软件开发工程师岗前

作者:李发陵、冷亚洪 出版社:清华大学出版社 出版时间:2017年01月 

ISBN: 9787302455028
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €29.99

类别: 软件工程/开发项目管理 SKU:5d8410715f984910454052ba 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 32开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302455028

编辑推荐
 (1)本书以实际商业项目-物流管理系统为主线,以完成接单、派单、送货、财务报帐、报表统计等功能为驱动,培养读者的业务流程理解;    (2)本书以工程化软件开发为主要指导思想,在每一个功能实现过程中详细讲解需求分析、设计及实现等软件开发过程,培养读者的工程化软件开发意识;    (3)本书在软件实现过程中详细讲解软件设计思路,强调提升读者的技能综合应用能力; 
内容简介
本书包括基础篇和项目实战篇两部分内容。基础篇讲述了目前市场上广泛采用的、基于.NET软件开发平台的ASP.NET MVC、JQuery、Castle.NET等软件开发技术,在讲述过程中列举大量的案例和真实的开发场景帮助读者掌握和应用上述技术。
  项目实战篇以物流管理的基本业务功能为主线,使用Visual Studio 2013、SQL Server 2008等软件开发工具,综合应用Aspect of Programming(面向切面编程,简称AOP)、Inverse of Control(控制反转,简称IOC)等设计思想搭建具有低耦合度、易扩展、易维护的软件开发框架,并在该框架的基础上描述了物流管理系统子模板(包括角色管理、用户管理、接单、调度、返回车辆的报销、产值分析等功能)的分析、设计及开发过程。
本书适合软件工程师及高等院校计算机相关专业的学生阅读,也是网站设计师的参考用书。
目  录

部分基础篇

第1章搭建开发环境31.1安装Microsoft SQL Server 2008 R23

1.1.1简介3

1.1.2获取安装包3

1.1.3安装步骤3

1.1.4首次运行13

1.2安装Microsoft Visual
Studio 201315

1.2.1简介15

1.2.2获取安装包15

1.2.3安装步骤16

1.2.4首次运行16

1.3Nuget工具19

1.3.1简介19

1.3.2使用方法19

1.4安装Castle.NET19

1.4.1简介19

1.4.2安装步骤20

本章小结21

第2章ASP.NET MVC22

2.1MVC模式22

2.2认识ASP.NET MVC23

2.2.1ASP.NET MVC概述23

2.2.2MVC的优点24

2.2.3MVC 5的新特性24

2.2.4MVC程序的运行原理27

2.3Hello MVC28

2.4MVC Razor视图引擎34

2.4.1Hello Razor34

2.4.2Razor语法34

2.5MVC项目的结构38ASP.NET框架应用程序实战——软件开发工程师岗前***目录2.6路由39

2.6.1理解路由39

2.6.2路由表40

2.6.3添加路由41

2.6.4路由格式43

2.6.5默认路由43

2.6.6在URL模式中处理可变数量的段44

2.6.7添加路由约束45

2.7模型47

2.7.1模型的创建47

2.7.2模型的绑定49

2.7.3模型的验证54

2.8视图58

2.8.1认识视图58

2.8.2视图的类型58

2.8.3视图的创建61

2.8.4强类型视图62

2.8.5资源的引用63

2.9控制器66

2.9.1认识控制器66

2.9.2控制器的动作67

2.9.3控制器的结果67

2.9.4过滤器69

2.9.5MVC中的页面传值76

2.10HTML及URL帮助器80

2.10.1HTML帮助器80

2.10.2URL帮助器95

2.11实现登录97

本章小结102

第3章JQuery103

3.1JQuery简介103

3.2JQuery的基本功能103

3.2.1引用JQuery类库103

3.2.2选择器104

3.2.3将DOM对象转换成JQuery对象105

3.2.4操作DOM元素的集合106

3.3第三方插件及使用方法111

3.3.1校验控件formValidator111

3.3.2日期控件My97DatePicker119

3.4JQuery综合实例120

3.4.1需求描述120

3.4.2分析与实现120

3.5JQuery AJAX125

3.5.1$.get方法126

3.5.2$.post方法127

3.5.3$.AJAX方法129

3.6JQuery AJAX实例133

3.6.1需求描述133

3.6.2分析与实现133

本章小结138

第4章ORM139

4.1简介139

4.2ORM映射机制139

4.2.1实体映射139

4.2.2关系映射140

4.3映射原理141

4.4映射工具142

4.4.1NHibernate142

4.4.2Castle143

4.4.3Ibatis.NET144

4.4.4Entity Framework145

4.5Castle146

4.5.1准备环境146

4.5.2对象关系映射150

4.5.3延迟加载164

4.5.4实体对象的状态165

4.5.5查询表达式166

4.6综合练习168

4.6.1需求描述168

4.6.2分析与实现168

本章小节172

第二部分项目实战篇

第5章需求分析1755.1业务建模175

5.2需求分析176

5.2.1系统管理员176

5.2.2业务员177

5.2.3调度员178

5.2.4财务人员179

5.2.5决策分析人员179

本章小结180

第6章架构设计181

6.1面向对象设计的原则181

6.1.1单一职责原则181

6.1.2开放封闭原则184

6.1.3里氏替换原则188

6.1.4依赖倒置原则194

6.1.5接口隔离原则198

6.2实体对象模型198

6.2.1贫血模型198

6.2.2充血模型199

6.3架构设计原则200

6.3.1分离界面和实现200

6.3.2针对接口编程并降低耦合度200

6.4搭建系统框架203

6.4.1建立实体层204

6.4.2建立数据访问层205

6.4.3建立业务逻辑层211

6.4.4建立系统核心调试类215

6.4.5搭建UI层217

6.4.6添加项目的引用224

6.4.7配置Castle224

6.4.8建立生成数据库功能的页面227

6.4.9搭建单元测试228

本章小结228

第7章登录(强类型对象生成视图)229

7.1需求描述229

7.2功能设计229

7.3功能实现230

7.3.1模型映射的实现230

7.3.2数据访问层的实现232

7.3.3服务层的实现232

7.3.4业务逻辑层的实现232

7.3.5IOC映射配置233

7.3.6表示层功能的实现233

本章小结239

第8章系统的主页面240

8.1需求描述240

8.2功能设计240

8.3功能实现241

8.3.1创建公用样式241

8.3.2创建布局视图242

8.3.3计算内容区域的宽度和高度244

8.3.4加载功能菜单245

本章小结254

第9章角色权限管理255

9.1需求任务257

9.2功能设计257

9.3功能实现258

9.3.1模型映射的实现258

9.3.2数据访问层的实现260

9.3.3服务层的实现260

9.3.4事务逻辑层的实现261

9.3.5IOC映射的配置261

9.3.6表示层功能的实现261

本章小结286

第10章用户管理287

10.1需求描述287

10.2功能设计287

10.3功能实现288

10.3.1业务逻辑的实现288

10.3.2表示层功能的实现290

本章小结304

第11章接单管理305

11.1需求任务305

11.2功能设计306

11.3功能实现306

11.3.1模型映射的实现306

11.3.2数据访问层的实现315

11.3.3服务层的实现315

11.3.4事务逻辑层的实现316

11.3.5IOC映射的实现317

11.3.6表示层功能的实现318

本章小结330

第12章调度管理331

12.1需求任务331

12.2功能设计331

12.3功能实现332

12.3.1模型映射的实现332

12.3.2数据访问层的实现337

12.3.3服务层的实现337

12.3.4事务逻辑层的实现338

12.3.5IOC映射的实现339

12.3.6表示层功能的实现339

本章小结347

第13章返回车辆的报销348

13.1需求任务348

13.2功能设计348

13.3功能实现349

13.3.1模型映射的实现349

13.3.2数据访问层的实现353

13.3.3服务层的实现354

13.3.4事务逻辑层的实现354

13.3.5IOC映射的实现355

13.3.6表示层功能的实现356

本章小结364

第14章产值分析365

14.1需求任务365

14.2功能设计365

14.3功能实现366

14.3.1模型映射的实现366

14.3.2数据访问层的实现366

14.3.3服务层的实现368

14.3.4事务逻辑层的实现368

14.3.5表示层功能的实现369

本章小结377

第15章软件测试378

15.1软件测试的概念378

15.1.1单元测试任务379

15.1.2软件测试的类型381

15.1.3软件测试过程中的模型384

15.1.4测试步骤387

15.2测试驱动开发387

15.3常用的单元测试工具389

15.3.1NUnit389

15.3.2TestDriven.NET390

15.3.3Visual Studio Test Edition391

15.4VSTS单元测试391

15.4.1添加单元测试项目391

15.4.2配置运行环境391

15.4.3创建单元测试类394

15.4.4测试的断言方法397

15.4.5测试操作399

15.4.6代码覆盖率的结果401

15.5本章小结402

参考文献403

前  言

在近的10年里,信息技术产业的发展速度一直保持着较好的发展态势,对我国经济的快速发展有非常重要的影响。同时,信息技术产业在我国“十三五”期间被列为重点发展产业,在这样的市场和政策推动下,.NET(软件开发领域重要的软件开发平台之一)软件工程师的需求量必定大幅增加。  要培养一名合格的软件工程师,不但要掌握大量的计算机基础理论和软件开发专业知识,还必须具备良好的实践动手能力。计算机基础和专业理论知识一般在高等院校的教学过程中获得,实践动手能力则必须在实习、实训或实际工作岗位中才能得到较好地锻炼。目前,我国的高等教育在计算机基础和专业理论知识的教学方面做得非常出色,为软件工程师的人才培养打下了很好的理论基础,但在学生的实践动手能力培养方面,由于受到硬件、师资等各方面的约束,导致各高校无法很好地开展实习、实训环节,使得很大一部分学生的实践动手能力没有得到较好的锻炼,从而导致毕业学生的职位胜任能力低下。另一方面,对于那些即将毕业而又没能接受良好实践动手能力训练的学生来说,如果没有得到合适的、能有效提高实践动手能力的机会,学生无疑只能选择放弃。  软件工程师是一个对逻辑思维要求很强、动手能力要求很高的岗位,要达到软件工程师的任职基本要求,必须要有一本能切实提升实践动手能力的书籍。  本书分为基础篇和项目实战篇两部分。基础篇包括搭建开发环境、ASP.NET MVC、JQuery及ORM等内容,讲解这些知识时列举了大量的案例帮助读者理解基础理论,案例步骤采用Step by Step的方式进行讲解,降低了读者完成案例的难度。在基础篇的基础上,本书的第2部分以实际的商业项目(物流管理系统)开发过程为主线,开发工具使用Visaul Studio 2013,类库采用.NET FrameWork 4.5,并综合应用Castle.NET ORM、Aspect of Programming、Inverse of Control、JQuery、AJAX、MVC等市场上流行的软件开发思想和技术,突出技术与市场需求接轨。  本书不但讲解软件开发技术知识,而且引用了采用面向对象分析与设计和基于框架的软件开发思想,模拟软件公司真实的软件开发平台、环境和开发过程,有利于培养并提高.NET软件工程师的实践动手能力和工程化的软件项目实际操作能力,能较好地解决软件工程师实践动手能力低下的问题。 编写本书的两位作者均具备近10年的软件企业工作经历和6年高校软件工程本科专业人才培养规划、建设和教学实施经验,从技术上能有效地保证本书内容的先进性和实用性,并能从全书的结构组织上保证教学有一定的规律性。本书的第1章、第3~7章和第10章由李发陵编写;第2章、第8~9章、第11~15章由冷亚洪编写;全书由重庆工程学院软件工程专业2014级优秀学生王曾宇同学校稿。  本书的使用对象如下。  (1) 可以作为培训机构、应用型本科或软件类高职人才培养的实训教材。应用型人才培养过程中编程能力模块的学习顺序如下: 面向过程(C语言程序设计基础)软件开发思想→面向对象软件开发思想(C#面向对象程序设计)→Web应用程序设计→框架程序设计。本书基于软件开发框架编制,可作为框架程序设计或实训教学环节的参考书籍。  (2) 可以作为.NET软件工程师的岗前学习教材。本书讲解了市场上广泛应用的软件开发技术,体现了软件企业用人的需求。同时,本书项目实战篇中的功能实现是基于软件企业开发过程而组织的,可以实现软件工程师岗前到上岗阶段的无缝对接。  (3) 可以作为.NET软件工程师能力提升的书籍。目前有大量软件企业为了追求利益化,忽视员工技术的可持续性发展与培养,采用的技术仍停留在多年前的水平,员工技能原地踏步,得不到很好的提升。本书使用Castle.NET、AOP、IOC等市场流行的软件开发技术和规范的软件开发过程,辅助读者建立面向对象和框架软件的开发思想,能较好地起到开拓软件、开发思维,建立规范的工程化软件开发意识,提高技术和技能应用能力的作用。  本书提供案例和项目的全部源代码,可访问清华大学出版社的网站(http://www.tup.tsinghua.edu.cn)进行下载或通过作者的邮箱获取([email protected])。  在此,感谢为本书出版提供帮助的所有人,特别是感谢作者的家人在编稿过程中提供的精神支持和时间便利。  尽管作者竭尽所能保证正文和代码的质量,但由于时间有限,不当之处在所难免,如果读者在阅读过程中发现问题,请及时发邮件给我们,我们将及时予以回复。
作者2017年1月
媒体评论
评论
在线试读
第3章

JQuery3.1JQuery简介JQuery由John Resig、Brandon Aaron 和Jorn Zaefferer创建的,它是JavaScript的一个类库,凭借简洁的语法和跨平台的兼容性,简化了JavaScript的开发过程,其独特而又优雅的代码风格改变了传统JavaScript程序员的设计思想和编写程序的方式。JQuery设计者的目标是: 写的少,做得多(write less, do more)。JQuery的优势如下: (1) JQuery是开源产品,所有代码对外公开且完全免费,无论是商业项目还是企业产品都可以免费地使用。(2) 浏览器的兼容性。它可以支持所有目前正在使用的浏览器,同时它还修正了浏览器之间的差异,达到界面显示上的一致性。(3) 强大的选择器。它的选择器方式是CSS选择器定义的方法,对于Web前端开发人员来说,加大了开发速度,还不用考虑兼容的问题。(4) 完善的AJAX。JQuery将AJAX所有的操作都封装到了一个$.ajax()函数中,使开发者在处理AJAX时更加得心应手。(5) 丰富可靠的事件处理能力。JQuery提供了大量的事件处理函数,我们只要简单的几行代码就可以完成JavaScript几百行的效果。(6) 丰富的插件支持。JQuery通过多年的发展,已扩展出成千上万个操作简单、方便实用、美观大方的插件,开发者引用后即可使用,大大地降低了开发组件的工作量。(7) JQuery有完整的帮助文档,为初学者提供了大量的示例代码,大大地降低了学习的门槛。3.2JQuery的基本功能〖1〗3.2.1引用JQuery类库JQuery提供了很多Javascript类库,这些类库中包含大量的应用程序编程接口(Application Programming Interface,API)。要使用类库中的API,就必须在页面文件中添加对JQuery文件及类库文件的引用。引用步骤如下: ASP.NET框架应用程序实战——软件开发工程师岗前***第3章JQuery(1) 新建一个名为“JQuery练习”的ASP.Net Web应用程序MVC项目。(2) 右击该项目,依次选择“添加(D)”→“新建项(W)…”,在弹出的对话框中依次选择Web→HTML页,并将其命名为“引用JQuery.html”文件。(3) 单击“添加(A)”按钮,Visual Studio 2013将在“JQuery练习”项目中生成一个新的名为“引用JQuery.html”的文件。(4) 打开“引用JQuery.html”文件,在标签后添加下面的代码即可。3.2.2选择器当要操作页面上的元素时,需快速定位到页面上的目标元素,在JavaScript中一般使用document.getElementById获得。在JQuery中,有多种方法可以快速获取元素,元素选择器和属性选择器允许开发者通过标签名、属性名或内容对HTML元素进行选择,选择后可对HTML元素组或单个元素进行操作。1. 使用CSS选择器来选取HTML元素$(“#txtName”): 选取id=”txtName”的元素。$(“p”): 选取页面中所有的

元素。$(“p.intro”): 选取所有class=”intro” 的

元素。$(“p#demo”): 选取所有id=”demo” 的

元素。2. 使用XPath表达式来选择带有给定属性的元素$(“[href]”): 选取所有带有href属性的元素。$(“[href=’#’]”):  选取所有带有href值且等于“#”的元素。$(“[href!=’#’]”): 选取所有带有href值且不等于“#”的元素。$(“[href$=’.jpg’]”): 选取所有href值以“.jpg”结尾的元素。 【实例】获取页面中id为txtAge的元素并显示其属性id的值,获取页面上所有的段落标签并显示总数。 HTML代码如下:

这是段

这是第二段

这是第三段

实现步骤: (1) 打开“引用JQuery.html”页面。(2) 用上述HTML代码覆盖“”代码。(3) 在

标签中添加JavaScript方法的代码,如下所示。function count(){//alert()用于弹出提示框;//$(“#txtAge”): 获取id为txtAge的控件//attr()为JQuery内置函数,获取id的值alert($(“#txtAge”).attr(“id”)); alert($(“p”).length);//$(“p”)用于获取所有元素,返回一个数组,length用于得到数组的长度}(4) 在标签中为onload事件添加执行函数,该函数将在页面加载完成后执行,代码如下: (5) 右击,选择“在浏览器中查看”命令,程序的运行效果如图31所示。图31JQuery选择器的运行结果3.2.3将DOM对象转换成JQuery对象   文档对象模型(Document Object Model,DOM)是万维网联盟(The World Wide Web Consortium,W3C)组织推荐的处理可扩展标志语言的标准编程接口,它是以面向对象方式描述的文档模型。使用JQuery获得的MOM对象既包含了DOM对象的基本特性又进行了扩展,所以要使用JQeury操作DOM对象前需要对其进行转换,在JQuery中可以使用关键字“$()”将普通HTML DOM对象转换为JQuery DOM对象。如: $(document.getElementById(“msg”))为JQuery对象,转换后可以使用JQuery方法。3.2.4操作DOM元素的集合〖*4/5〗1. 获取集合中的元素对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq、get(n)方法或索引号获取。要注意,eq返回的是JQuery对象,而 get(n)和索引返回的是DOM元素对象。对于JQuery对象只能使用JQuery的方法,而DOM对象只能使用DOM的方法,如要获取第三个

元素的内容。有如下两种方法: $(“div”).eq(2).html();//调用JQuery对象的方法$(“div”).get(2).innerHTML; //调用DOM中方法的属性2. 用同一函数实现set和get方法JQuery主要包括如下几个语句: $(“#msg”).html(); //返回id为msg的元素节点的HTML内容。$(“#msg”).html(“new content“);//将“new content”作为HTML串写入id为msg的元素节点内容中,页面显示粗体的“new content”
$(“#msg”).text(); //返回id为msg的元素节点的文本内容。$(“#msg”).text(“new content“);//将“new content” 作为普通文本串写入id为msg的元素节点内容中,页面显示“new content”
$(“#msg”).height(); //返回id为msg的元素的高度$(“#msg”).height(“300”); //将id为msg的元素的高度设为300$(“#msg”).width(); //返回id为msg的元素的宽度$(“#msg”).width(“300”); //将id为msg的元素的宽度设为300
$(“input”).val(“); //返回表单输入框的value值$(“input”).val(“test”); //将表单输入框的value值设为test
$(“#msg”).click(); //触发id为msg的元素的单击事件$(“#msg”).click(fn); //为id为msg的元素单击事件添加函数同样,blur、focus、select、submit事件都可以有两种调用方法。3. 集合处理功能   对于JQuery返回的集合内容无须手工循环遍历并对每个对象分别做处理,JQuery已经提供了很方便的方法进行集合的处理。主要包括两种形式: //为索引为0、1、2的p元素分别设定不同的字体颜色$(“p”).each(function(i){this.style.color=[‘#f00′,’#0f0′,’#00f’][ i ]});//实现表格的隔行换色效果$(“tr”).each(function(i){this.style.backgroundColor=[‘#ccc’,’#fff’][i%2]});//为每个p元素增加了click事件,单击某个p元素则弹出其内容$(“p”).click(function(){alert($(this).html())});4. 扩展需要的功能$.extend({min: function(a, b){return a < b?a:b; },max: function(a, b){return a > b?a:b; }});//为JQuery扩展了min、max两个方法alert(“a=10,b=20,max=” $.max(10,20) “,min=” $.min(10,20));//使用扩展的方法(通过“$.方法名”调用) 5. 方法连写所谓连写,就是可以对一个JQuery对象连续调用各种不同的方法。例如: $(“p”).click(function(){alert($(this).html())}).mouseover(function(){alert(‘mouse over event’)}).each(function(i){this.style.color=[‘#f00′,’#0f0′,’#00f’][ i ]});6. 操作元素的样式主要包括以下几种方式。 $(“#msg”).css(“background”);//返回元素的背景颜色$(“#msg”).css(“background”,”#ccc”); //设定元素背景为灰色$(“#msg”).height(300); //设定元素的高度$(“#msg”).width(“200”); //设定元素的宽度$(“#msg”).css({ color: “red”, background: “blue” });//以名值对的形式设定样式$(“#msg”).addClass(“select”); //为元素增加名称为select的类$(“#msg”).removeClass(“select”); //删除元素名称为select的类$(“#msg”).toggleClass(“select”); //如果存在(不存在),就删除(添加)名称为select的类7. 事件处理功能JQuery提供了各种事件处理方法,开发者可以直接为通过JQuery获取的对象添加事件。如: $(“#msg”).click(function(){alert(“good”)});//为元素添加了单击事件

书摘插画
插图

插图

插图

插图

插图

插图

插图

插图

抢先评论了 “ASP.NET框架应用程序实战——软件开发工程师岗前” 取消回复

评论

还没有评论。

相关产品

阅读更多
缺货

推荐系统实践(《浪潮之巅》、《数学之美》作者吴军作序推荐)

EUR €33.99
阅读更多
缺货

设计模式 可复用面向对象软件的基础(决战大数据时代!IT技术人员不得不读!)

EUR €23.99
阅读更多
缺货

番茄工作法图解:简单易行的时间管理方法(流行的时间管理方法)

EUR €20.99
阅读更多
缺货

软件需求 第3版(影印版)

EUR €65.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略