本书共9章,分为3篇。第1篇为需求与三层架构,从一个电商网站开始引出相关话题,介绍为何要用三层架构,并介绍了ORM实体关系映射;第2篇为NoSQL和测试,主要介绍了数据库的相关技术及软件测试的相关知识;第3篇为高精尖技术,涵盖的内容有神奇的缓存、程序员眼中的前端、人生中第一次高并发和微信公众号开发等。
本书适合对代码架构感兴趣的初学者和爱好者阅读。另外,高校学生和相关培训学校的学员也可将本书作为兴趣读物。对于初入职场还比较迷茫的程序员,本书可以作为一本提高读物来阅读。阅读本书建议读者有一定的C#语言基础。
封面图
目录
- 序言
- 前言
- 引言 1
- 一个架构师的例子 1
- 背景及人物介绍 3
- 我们的目标 3
- 第1篇需求与三层架构
- 第1章故事从一个电商网站开始 6
- 1.1需求?需求! 6
- 1.2敏捷开发简介 8
- 1.3UI——用户界面 9
- 1.3.1从UE说起 9
- 1.3.2HTML 5 & CSS 3 9
- 1.3.3微信 10
- 1.4数据库 10
- 1.4.1PowerDesigner设计工具 11
- 1.4.2关于SQL语句 12
- 第2章为什么是三层 14
- 2.1MOL带兄弟们去吃饭 14
- 2.2动手写一个三层结构 16
- 2.2.1DAL层的实现 17
- 2.2.2BLL层的实现 18
- 2.2.3UI层的实现 19
- 2.3简说MVC 20
- 2.3.1纠正一下老师的说法 20
- 2.3.2MVC的第一个程序 21
- 2.3.3为什么要用MVC之我见 25
- 2.4向三层代码中加入面向对象 25
- 2.4.1实例化数据库表 26
- 2.4.2增加数据库操作类 29
- 2.4.3加强版的数据库操作类 30
- 2.5小说代码管理 33
- 2.5.1什么是代码管理软件 34
- 2.5.2TFS管理软件 36
- 2.5.3SVN管理软件 40
- 2.5.4Git管理软件 41
- 2.6小结 51
- 第3章ORM实体关系映射 52
- 3.1说说OCP开放封闭原则 52
- 3.2解耦第一步——接口要上位 53
- 3.2.1代码结构的前提 53
- 3.2.2创建接口层 56
- 3.3解耦第二步——工厂模式解决new的问题 58
- 3.4Spring.NET横空出世 61
- 3.4.1酒文化发展史 61
- 3.4.2神奇的IOC 62
- 3.4.3引出Spring.NET 64
- 3.5我不想写SQL语句 67
- 3.5.1什么是ORM 68
- 3.5.2ORM之iBATIS.NET 70
- 3.5.3ORM之NHibernate 75
- 3.5.4ORM之EF 86
- 3.5.5懒人无敌 93
- 3.5.6完成查询操作 106
- 3.5.7数据库先行、模型先行、代码先行 109
- 3.6小结 110
- 第2篇NoSQL和测试
- 第4章换个数据库试试 112
- 4.1客户总有一些非分的想法 112
- 4.2MongoDB简介 113
- 4.2.1安装&配置 114
- 4.2.2可视化工具 116
- 4.2.3MongoDB的基本操作 119
- 4.3.NET操作MongoDB 121
- 4.4让NoSQL面向对象 123
- 4.4.1实体抽象 124
- 4.4.2操作抽象 132
- 4.5NoSQL题外话 135
- 4.6关于日志 136
- 4.6.1为啥要写日志 136
- 4.6.2如何写日志 138
- 4.6.3注意事项 144
- 4.7小结 145
- 第5章越俎代庖搞搞测试 146
- 5.1简单说测试 146
- 5.2冒烟测试 147
- 5.3黑盒测试 148
- 5.4单元测试 149
- 5.4.1单元测试是什么 150
- 5.4.2如何进行单元测试 150
- 5.4.3测试驱动开发 161
- 5.5白盒测试 162
- 5.6压力测试 163
- 5.7其他测试 163
- 5.8小结 163
- 第3篇高精尖技术
- 第6章神奇的缓存 166
- 6.1网站崩溃了 166
- 6.2缓存是什么 168
- 6.3微软提供了缓存 170
- 6.4自己做缓存 173
- 6.5第三方缓存 176
- 6.5.1MemCache缓存 178
- 6.5.2Redis缓存 189
- 6.5.3把缓存抽象出来 197
- 6.5.4读写分离 198
- 6.6利用模板引擎生成静态页面 198
- 6.6.1初识NVelocity 200
- 6.6.2使用NVelocity生成静态页面 207
- 6.6.3静态页面带来的问题 211
- 6.7CDN的加入会大大减少服务器的压力 212
- 6.8小结 213
- 第7章程序员眼中的前端 215
- 7.1常见的前端框架 216
- 7.2尝试EasyUI 220
- 7.2.1基础框架 220
- 7.2.2常用的控件 232
- 7.2.3小说权限分配 247
- 7.3其他的前端框架 264
- 7.3.1Bootstrap框架 264
- 7.3.2jQuery UI框架 265
- 7.4小说HTML 5 265
- 7.5小结 266
- 第8章人生中的第一次高并发 267
- 8.1网站又崩溃了! 267
- 8.2从相亲说起 268
- 8.3简述消息队列 270
- 8.3.1串行设计 270
- 8.3.2多线程设计 271
- 8.3.3消息队列设计 274
- 8.4常见的消息队列 275
- 8.4.1MSMQ消息队列 275
- 8.4.2RabbitMQ消息队列 282
- 8.5小结 288
- 第9章微信公众号 289
- 9.1李老板出场,请热烈鼓掌 289
- 9.2初探微信公众号 290
- 9.2.1申请订阅号 291
- 9.2.2小机器人 294
- 9.2.3把晋商卡挂到微信公众平台上 298
- 9.3微信小程序 299
- 9.3.1微信小程序是什么 299
- 9.3.2写一个简单的Demo 300
- 9.4微服务 310
- 9.5MongoDB数据库 312
- 9.6大数据 314
- 9.7小结 316